From: Mark Gross The code path through skel_open can grap the driver's io_mutex lock and forget to release it. Signed-off-by: Mark Gross Signed-off-by: Andrew Morton --- drivers/usb/usb-skeleton.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/usb/usb-skeleton.c~usb-skeleton-leaking-locks-on-open drivers/usb/usb-skeleton.c --- a/drivers/usb/usb-skeleton.c~usb-skeleton-leaking-locks-on-open +++ a/drivers/usb/usb-skeleton.c @@ -125,6 +125,7 @@ static int skel_open(struct inode *inode /* save our object in the file's private structure */ file->private_data = dev; + mutex_unlock(&dev->io_mutex); exit: return retval; _