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 | } |
