USB: unbind all interfaces before rebinding them
[sfrench/cifs-2.6.git] / drivers / usb / core / driver.c
index ded550eda5d967fbd2f91f34fab08458cf964d89..de98a94d18537835fafad621fe213c78bba00a61 100644 (file)
@@ -1328,6 +1328,7 @@ int usb_resume(struct device *dev, pm_message_t msg)
 
        /* For all other calls, take the device back to full power and
         * tell the PM core in case it was autosuspended previously.
+        * Unbind the interfaces that will need rebinding later.
         */
        } else {
                status = usb_resume_both(udev, msg);
@@ -1336,6 +1337,7 @@ int usb_resume(struct device *dev, pm_message_t msg)
                        pm_runtime_set_active(dev);
                        pm_runtime_enable(dev);
                        udev->last_busy = jiffies;
+                       do_unbind_rebind(udev, DO_REBIND);
                }
        }