diff options
Diffstat (limited to 'drivers/usb/host/uhci-hcd.c')
-rw-r--r-- | drivers/usb/host/uhci-hcd.c | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index 0c024898cbea..17de9ee910f6 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c | |||
@@ -437,36 +437,18 @@ static void release_uhci(struct uhci_hcd *uhci) | |||
437 | int i; | 437 | int i; |
438 | 438 | ||
439 | for (i = 0; i < UHCI_NUM_SKELQH; i++) | 439 | for (i = 0; i < UHCI_NUM_SKELQH; i++) |
440 | if (uhci->skelqh[i]) { | 440 | uhci_free_qh(uhci, uhci->skelqh[i]); |
441 | uhci_free_qh(uhci, uhci->skelqh[i]); | ||
442 | uhci->skelqh[i] = NULL; | ||
443 | } | ||
444 | 441 | ||
445 | if (uhci->term_td) { | 442 | uhci_free_td(uhci, uhci->term_td); |
446 | uhci_free_td(uhci, uhci->term_td); | ||
447 | uhci->term_td = NULL; | ||
448 | } | ||
449 | 443 | ||
450 | if (uhci->qh_pool) { | 444 | dma_pool_destroy(uhci->qh_pool); |
451 | dma_pool_destroy(uhci->qh_pool); | ||
452 | uhci->qh_pool = NULL; | ||
453 | } | ||
454 | 445 | ||
455 | if (uhci->td_pool) { | 446 | dma_pool_destroy(uhci->td_pool); |
456 | dma_pool_destroy(uhci->td_pool); | ||
457 | uhci->td_pool = NULL; | ||
458 | } | ||
459 | 447 | ||
460 | if (uhci->fl) { | 448 | dma_free_coherent(uhci_dev(uhci), sizeof(*uhci->fl), |
461 | dma_free_coherent(uhci_dev(uhci), sizeof(*uhci->fl), | 449 | uhci->fl, uhci->fl->dma_handle); |
462 | uhci->fl, uhci->fl->dma_handle); | ||
463 | uhci->fl = NULL; | ||
464 | } | ||
465 | 450 | ||
466 | if (uhci->dentry) { | 451 | debugfs_remove(uhci->dentry); |
467 | debugfs_remove(uhci->dentry); | ||
468 | uhci->dentry = NULL; | ||
469 | } | ||
470 | } | 452 | } |
471 | 453 | ||
472 | static int uhci_reset(struct usb_hcd *hcd) | 454 | static int uhci_reset(struct usb_hcd *hcd) |
@@ -690,31 +672,25 @@ static int uhci_start(struct usb_hcd *hcd) | |||
690 | * error exits: | 672 | * error exits: |
691 | */ | 673 | */ |
692 | err_alloc_skelqh: | 674 | err_alloc_skelqh: |
693 | for (i = 0; i < UHCI_NUM_SKELQH; i++) | 675 | for (i = 0; i < UHCI_NUM_SKELQH; i++) { |
694 | if (uhci->skelqh[i]) { | 676 | if (uhci->skelqh[i]) |
695 | uhci_free_qh(uhci, uhci->skelqh[i]); | 677 | uhci_free_qh(uhci, uhci->skelqh[i]); |
696 | uhci->skelqh[i] = NULL; | 678 | } |
697 | } | ||
698 | 679 | ||
699 | uhci_free_td(uhci, uhci->term_td); | 680 | uhci_free_td(uhci, uhci->term_td); |
700 | uhci->term_td = NULL; | ||
701 | 681 | ||
702 | err_alloc_term_td: | 682 | err_alloc_term_td: |
703 | dma_pool_destroy(uhci->qh_pool); | 683 | dma_pool_destroy(uhci->qh_pool); |
704 | uhci->qh_pool = NULL; | ||
705 | 684 | ||
706 | err_create_qh_pool: | 685 | err_create_qh_pool: |
707 | dma_pool_destroy(uhci->td_pool); | 686 | dma_pool_destroy(uhci->td_pool); |
708 | uhci->td_pool = NULL; | ||
709 | 687 | ||
710 | err_create_td_pool: | 688 | err_create_td_pool: |
711 | dma_free_coherent(uhci_dev(uhci), sizeof(*uhci->fl), | 689 | dma_free_coherent(uhci_dev(uhci), sizeof(*uhci->fl), |
712 | uhci->fl, uhci->fl->dma_handle); | 690 | uhci->fl, uhci->fl->dma_handle); |
713 | uhci->fl = NULL; | ||
714 | 691 | ||
715 | err_alloc_fl: | 692 | err_alloc_fl: |
716 | debugfs_remove(uhci->dentry); | 693 | debugfs_remove(uhci->dentry); |
717 | uhci->dentry = NULL; | ||
718 | 694 | ||
719 | err_create_debug_entry: | 695 | err_create_debug_entry: |
720 | return retval; | 696 | return retval; |