aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/core/driver.c10
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)
1750int usb_resume(struct device *dev, pm_message_t msg) 1750int 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 */