USB: usb-skeleton.c: fix compilation error and restored kref_put on fail in skel_open
PATCH RESEND v3 1/1 USB: usb-skeleton.c: fix compilation error and restored kref_put on fail in skel_open
From: Constantine Shulyupin <[email protected]>
Fixing compilaton error.
Incrementing usage counter only on successful execution of skel_open. Removing redundant locking
Some last changes in function skel_open and finally commit 52a7499 Revert "USB: usb-skeleton.c: fix open/disconnect race" introduced a bug in function skel_open, which this patch fixes.
--
Changelog:
Changes since v2:
- refactoring
- Removing redundant mutex synchronization.
Changes since v1:
- Fixed accordingly feedback of Oliver Neukum [email protected]: also need to drop the lock.
Signed-off-by Constantine Shulyupin <[email protected]>
--- drivers/usb/usb-skeleton.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-)
drivers/usb/usb-skeleton.c +4 -9
@@ -105,20 +105,15 @@ static int skel_open(struct inode *inode, struct file *file) goto exit; } -/* 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); - retval =usb_autopm_get_interface (interface);if (retval) - goto out_err; + goto exit; + +/* increment our usage count for the device */ +kref_get (&dev->kref);/* save our object in the file's private structure */ file->private_data = dev; -mutex_unlock (&dev->io_mutex); exit:return retval;
Signature · 1 line
1.7.9.5