diff options
Diffstat (limited to 'drivers/usb/host/uhci-hcd.c')
-rw-r--r-- | drivers/usb/host/uhci-hcd.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index 4151f618602d..eb4eab98e8bf 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c | |||
@@ -734,6 +734,10 @@ static int uhci_suspend(struct usb_hcd *hcd, pm_message_t message) | |||
734 | 734 | ||
735 | /* FIXME: Enable non-PME# remote wakeup? */ | 735 | /* FIXME: Enable non-PME# remote wakeup? */ |
736 | 736 | ||
737 | /* make sure snapshot being resumed re-enumerates everything */ | ||
738 | if (message.event == PM_EVENT_PRETHAW) | ||
739 | uhci_hc_died(uhci); | ||
740 | |||
737 | done_okay: | 741 | done_okay: |
738 | clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); | 742 | clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); |
739 | done: | 743 | done: |
@@ -909,8 +913,7 @@ static int __init uhci_hcd_init(void) | |||
909 | return 0; | 913 | return 0; |
910 | 914 | ||
911 | init_failed: | 915 | init_failed: |
912 | if (kmem_cache_destroy(uhci_up_cachep)) | 916 | kmem_cache_destroy(uhci_up_cachep); |
913 | warn("not all urb_privs were freed!"); | ||
914 | 917 | ||
915 | up_failed: | 918 | up_failed: |
916 | debugfs_remove(uhci_debugfs_root); | 919 | debugfs_remove(uhci_debugfs_root); |
@@ -926,10 +929,7 @@ errbuf_failed: | |||
926 | static void __exit uhci_hcd_cleanup(void) | 929 | static void __exit uhci_hcd_cleanup(void) |
927 | { | 930 | { |
928 | pci_unregister_driver(&uhci_pci_driver); | 931 | pci_unregister_driver(&uhci_pci_driver); |
929 | 932 | kmem_cache_destroy(uhci_up_cachep); | |
930 | if (kmem_cache_destroy(uhci_up_cachep)) | ||
931 | warn("not all urb_privs were freed!"); | ||
932 | |||
933 | debugfs_remove(uhci_debugfs_root); | 933 | debugfs_remove(uhci_debugfs_root); |
934 | kfree(errbuf); | 934 | kfree(errbuf); |
935 | } | 935 | } |