diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c
index fa0cc089982739e9d70da131c7b6235571f0acfa..935c3d0a3b636f63483d88899d0e2012df64126b 100644
--- a/drivers/hid/uhid.c
+++ b/drivers/hid/uhid.c
@@ -772,7 +772,7 @@ static __poll_t uhid_char_poll(struct file *file, poll_table *wait)
 	if (uhid->head != uhid->tail)
 		return EPOLLIN | EPOLLRDNORM;
 
-	return 0;
+	return EPOLLOUT | EPOLLWRNORM;
 }
 
 static const struct file_operations uhid_fops = {