diff --git a/[refs] b/[refs] index c20328de9791..e85aac3413dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ace3d8614ab0e6544f5f85921085b55b915fe9aa +refs/heads/master: 1f9dec1e0164b48da9b268a02197f38caa69b118 diff --git a/trunk/drivers/hid/uhid.c b/trunk/drivers/hid/uhid.c index 05ef4b05a63e..b1a477f8260c 100644 --- a/trunk/drivers/hid/uhid.c +++ b/trunk/drivers/hid/uhid.c @@ -117,6 +117,13 @@ static ssize_t uhid_char_write(struct file *file, const char __user *buffer, static unsigned int uhid_char_poll(struct file *file, poll_table *wait) { + struct uhid_device *uhid = file->private_data; + + poll_wait(file, &uhid->waitq, wait); + + if (uhid->head != uhid->tail) + return POLLIN | POLLRDNORM; + return 0; }