question about usb_rebind_intf

From: Jerry Snitselaar
Date: Fri Nov 17 2017 - 11:36:03 EST


Should this skip warning that the rebind failed if device_attach
is returning -EPROBE_DEFER? If I do something like 'rtcwake -m mem -s 30'
on a laptop I have here I will see a couple "rebind failed: -517" messages
as it comes back out of suspend. Since the device probe eventually happens
once probes are not deferred wondering if this warning this be given in that
case.


diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 64262a9a8829..5d3408010112 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -1070,7 +1070,7 @@ static void usb_rebind_intf(struct usb_interface *intf)
if (!intf->dev.power.is_prepared) {
intf->needs_binding = 0;
rc = device_attach(&intf->dev);
- if (rc < 0)
+ if (rc < 0 && rc != -EPROBE_DEFER)
dev_warn(&intf->dev, "rebind failed: %d\n", rc);
}
}