diff options
Diffstat (limited to 'drivers/usb/usb-skeleton.c')
-rw-r--r-- | drivers/usb/usb-skeleton.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 0616f235bd6b..ce310170829f 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c | |||
@@ -105,20 +105,15 @@ static int skel_open(struct inode *inode, struct file *file) | |||
105 | goto exit; | 105 | goto exit; |
106 | } | 106 | } |
107 | 107 | ||
108 | /* increment our usage count for the device */ | ||
109 | kref_get(&dev->kref); | ||
110 | |||
111 | /* lock the device to allow correctly handling errors | ||
112 | * in resumption */ | ||
113 | mutex_lock(&dev->io_mutex); | ||
114 | |||
115 | retval = usb_autopm_get_interface(interface); | 108 | retval = usb_autopm_get_interface(interface); |
116 | if (retval) | 109 | if (retval) |
117 | goto out_err; | 110 | goto exit; |
111 | |||
112 | /* increment our usage count for the device */ | ||
113 | kref_get(&dev->kref); | ||
118 | 114 | ||
119 | /* save our object in the file's private structure */ | 115 | /* save our object in the file's private structure */ |
120 | file->private_data = dev; | 116 | file->private_data = dev; |
121 | mutex_unlock(&dev->io_mutex); | ||
122 | 117 | ||
123 | exit: | 118 | exit: |
124 | return retval; | 119 | return retval; |