diff options
-rw-r--r-- | drivers/usb/core/driver.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index 77de8d65862c..69e5773abfce 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c | |||
@@ -1750,6 +1750,7 @@ int usb_suspend(struct device *dev, pm_message_t msg) | |||
1750 | int usb_resume(struct device *dev, pm_message_t msg) | 1750 | int usb_resume(struct device *dev, pm_message_t msg) |
1751 | { | 1751 | { |
1752 | struct usb_device *udev; | 1752 | struct usb_device *udev; |
1753 | int status; | ||
1753 | 1754 | ||
1754 | udev = to_usb_device(dev); | 1755 | udev = to_usb_device(dev); |
1755 | 1756 | ||
@@ -1759,7 +1760,14 @@ int usb_resume(struct device *dev, pm_message_t msg) | |||
1759 | */ | 1760 | */ |
1760 | if (udev->skip_sys_resume) | 1761 | if (udev->skip_sys_resume) |
1761 | return 0; | 1762 | return 0; |
1762 | return usb_external_resume_device(udev, msg); | 1763 | status = usb_external_resume_device(udev, msg); |
1764 | |||
1765 | /* Avoid PM error messages for devices disconnected while suspended | ||
1766 | * as we'll display regular disconnect messages just a bit later. | ||
1767 | */ | ||
1768 | if (status == -ENODEV) | ||
1769 | return 0; | ||
1770 | return status; | ||
1763 | } | 1771 | } |
1764 | 1772 | ||
1765 | #endif /* CONFIG_PM */ | 1773 | #endif /* CONFIG_PM */ |