diff options
-rw-r--r-- | drivers/usb/c67x00/c67x00-sched.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/usb/c67x00/c67x00-sched.c b/drivers/usb/c67x00/c67x00-sched.c index c379d202f928..7311ed61e99a 100644 --- a/drivers/usb/c67x00/c67x00-sched.c +++ b/drivers/usb/c67x00/c67x00-sched.c | |||
@@ -362,6 +362,13 @@ int c67x00_urb_enqueue(struct usb_hcd *hcd, | |||
362 | struct c67x00_hcd *c67x00 = hcd_to_c67x00_hcd(hcd); | 362 | struct c67x00_hcd *c67x00 = hcd_to_c67x00_hcd(hcd); |
363 | int port = get_root_port(urb->dev)-1; | 363 | int port = get_root_port(urb->dev)-1; |
364 | 364 | ||
365 | /* Allocate and initialize urb private data */ | ||
366 | urbp = kzalloc(sizeof(*urbp), mem_flags); | ||
367 | if (!urbp) { | ||
368 | ret = -ENOMEM; | ||
369 | goto err_urbp; | ||
370 | } | ||
371 | |||
365 | spin_lock_irqsave(&c67x00->lock, flags); | 372 | spin_lock_irqsave(&c67x00->lock, flags); |
366 | 373 | ||
367 | /* Make sure host controller is running */ | 374 | /* Make sure host controller is running */ |
@@ -374,13 +381,6 @@ int c67x00_urb_enqueue(struct usb_hcd *hcd, | |||
374 | if (ret) | 381 | if (ret) |
375 | goto err_not_linked; | 382 | goto err_not_linked; |
376 | 383 | ||
377 | /* Allocate and initialize urb private data */ | ||
378 | urbp = kzalloc(sizeof(*urbp), mem_flags); | ||
379 | if (!urbp) { | ||
380 | ret = -ENOMEM; | ||
381 | goto err_urbp; | ||
382 | } | ||
383 | |||
384 | INIT_LIST_HEAD(&urbp->hep_node); | 384 | INIT_LIST_HEAD(&urbp->hep_node); |
385 | urbp->urb = urb; | 385 | urbp->urb = urb; |
386 | urbp->port = port; | 386 | urbp->port = port; |
@@ -443,11 +443,11 @@ int c67x00_urb_enqueue(struct usb_hcd *hcd, | |||
443 | return 0; | 443 | return 0; |
444 | 444 | ||
445 | err_epdata: | 445 | err_epdata: |
446 | kfree(urbp); | ||
447 | err_urbp: | ||
448 | usb_hcd_unlink_urb_from_ep(hcd, urb); | 446 | usb_hcd_unlink_urb_from_ep(hcd, urb); |
449 | err_not_linked: | 447 | err_not_linked: |
450 | spin_unlock_irqrestore(&c67x00->lock, flags); | 448 | spin_unlock_irqrestore(&c67x00->lock, flags); |
449 | kfree(urbp); | ||
450 | err_urbp: | ||
451 | 451 | ||
452 | return ret; | 452 | return ret; |
453 | } | 453 | } |