summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usb_hub.c3
-rw-r--r--drivers/usb/host/ehci-hcd.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/common/usb_hub.c b/common/usb_hub.c
index 7aac220..af39c76 100644
--- a/common/usb_hub.c
+++ b/common/usb_hub.c
@@ -271,7 +271,8 @@ int usb_hub_port_connect_change(struct usb_device *dev, int port)
/* Reset the port */
ret = legacy_hub_port_reset(dev, port, &portstatus);
if (ret < 0) {
- printf("cannot reset port %i!?\n", port + 1);
+ if (ret != -ENXIO)
+ printf("cannot reset port %i!?\n", port + 1);
return ret;
}
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index ce760d0..e4c462f 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -875,7 +875,7 @@ static int ehci_submit_root(struct usb_device *dev, unsigned long pipe,
port - 1);
reg |= EHCI_PS_PO;
ehci_writel(status_reg, reg);
- break;
+ return -ENXIO;
} else {
int ret;
@@ -905,6 +905,7 @@ static int ehci_submit_root(struct usb_device *dev, unsigned long pipe,
reg &= ~EHCI_PS_CLEAR;
reg |= EHCI_PS_PO;
ehci_writel(status_reg, reg);
+ return -ENXIO;
} else {
ctrl->portreset |= 1 << port;
}