This is a note to let you know that I've just added the patch titled Subject: USB: legousbtower: make poll notice disconnect to my gregkh-2.6 tree. Its filename is usb-legousbtower-make-poll-notice-disconnect.patch This tree can be found at http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/ >From oliver@xxxxxxxxxx Fri Jul 10 15:17:50 2009 From: Oliver Neukum <oliver@xxxxxxxxxx> Date: Thu, 2 Jul 2009 12:07:07 +0200 Subject: USB: legousbtower: make poll notice disconnect To: greg@xxxxxxxxx, USB list <linux-usb@xxxxxxxxxxxxxxx>, starblue@xxxxxxxxxxxxxxxxxxxxx, davidgsf@xxxxxxxxxxxxxxx Message-ID: <200907021207.07770.oliver@xxxxxxxxxx> Content-Disposition: inline poll needs to return an error if a device is disconnected - make poll check for device's presence - wake all waiters in disconnect Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> --- drivers/usb/misc/legousbtower.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/drivers/usb/misc/legousbtower.c +++ b/drivers/usb/misc/legousbtower.c @@ -552,6 +552,9 @@ static unsigned int tower_poll (struct f dev = file->private_data; + if (!dev->udev) + return POLLERR | POLLHUP; + poll_wait(file, &dev->read_wait, wait); poll_wait(file, &dev->write_wait, wait); @@ -1025,6 +1028,9 @@ static void tower_disconnect (struct usb tower_delete (dev); } else { dev->udev = NULL; + /* wake up pollers */ + wake_up_interruptible_all(&dev->read_wait); + wake_up_interruptible_all(&dev->write_wait); mutex_unlock(&dev->lock); } -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html