diff options
Diffstat (limited to 'drivers/usb/misc')
-rw-r--r-- | drivers/usb/misc/uss720.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c index f7a205738032..8b1d94a76914 100644 --- a/drivers/usb/misc/uss720.c +++ b/drivers/usb/misc/uss720.c | |||
@@ -177,12 +177,11 @@ static struct uss720_async_request *submit_async_request(struct parport_uss720_p | |||
177 | spin_lock_irqsave(&priv->asynclock, flags); | 177 | spin_lock_irqsave(&priv->asynclock, flags); |
178 | list_add_tail(&rq->asynclist, &priv->asynclist); | 178 | list_add_tail(&rq->asynclist, &priv->asynclist); |
179 | spin_unlock_irqrestore(&priv->asynclock, flags); | 179 | spin_unlock_irqrestore(&priv->asynclock, flags); |
180 | kref_get(&rq->ref_count); | ||
180 | ret = usb_submit_urb(rq->urb, mem_flags); | 181 | ret = usb_submit_urb(rq->urb, mem_flags); |
181 | if (!ret) { | 182 | if (!ret) |
182 | kref_get(&rq->ref_count); | ||
183 | return rq; | 183 | return rq; |
184 | } | 184 | destroy_async(&rq->ref_count); |
185 | kref_put(&rq->ref_count, destroy_async); | ||
186 | err("submit_async_request submit_urb failed with %d", ret); | 185 | err("submit_async_request submit_urb failed with %d", ret); |
187 | return NULL; | 186 | return NULL; |
188 | } | 187 | } |