Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: usbtmc: Fix disconnect/poll interaction

When the device is disconnected poll waiters were not being woken.

Changes for v2:
- add commit summary
- add Fixes and Reported-by tags

Fixes: eb6b92ecc0f9 ("Add support for receiving USBTMC USB488 SRQ notifications via poll/select")
Reported-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Dave Penkler <dpenkler@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Dave Penkler and committed by
Greg Kroah-Hartman
f9cfabce 6edd87f5

+2 -1
+2 -1
drivers/usb/class/usbtmc.c
··· 1525 1525 dev_dbg(&intf->dev, "usbtmc_disconnect called\n"); 1526 1526 1527 1527 data = usb_get_intfdata(intf); 1528 - usbtmc_free_int(data); 1529 1528 usb_deregister_dev(intf, &usbtmc_class); 1530 1529 sysfs_remove_group(&intf->dev.kobj, &capability_attr_grp); 1531 1530 sysfs_remove_group(&intf->dev.kobj, &data_attr_grp); 1532 1531 mutex_lock(&data->io_mutex); 1533 1532 data->zombie = 1; 1533 + wake_up_all(&data->waitq); 1534 1534 mutex_unlock(&data->io_mutex); 1535 + usbtmc_free_int(data); 1535 1536 kref_put(&data->kref, usbtmc_delete); 1536 1537 } 1537 1538