From: Stefani Seibold <stefani@xxxxxxxxxxx> The io_mutex must not acquired since a disconnect waits in usb_deregister_dev() due the already locked minor_rwsem in the usb_open() function Signed-off-by: Stefani Seibold <stefani@xxxxxxxxxxx> --- drivers/usb/usb-skeleton.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 61f4ac8..6482acb 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c @@ -95,11 +95,11 @@ static int skel_open(struct inode *inode, struct file *file) /* increment our usage count for the device */ kref_get(&dev->kref); - /* lock the device to allow correctly handling errors - * in resumption */ - mutex_lock(&dev->io_mutex); + /* + * must be not locked since disconnect waits in usb_deregister_dev() + * due the already locked minor_rwsem in the usb_open() function + */ retval = usb_autopm_get_interface(interface); - mutex_unlock(&dev->io_mutex); /* save our object in the file's private structure */ if (!retval) -- 1.7.8.6 -- 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