From 45b9ea1da2f9e5110ced2fe2808aee224183aa54 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 10 May 2015 14:10:16 +0200 Subject: usb: Stop reset procedure when a dev is handed over to a companion hcd Short circuit the retry loop in legacy_hub_port_reset() by returning an error from usb_control_msg() when a device was handed over to a companion by the ehci code. This avoids trying to reset low / fullspeed devices 5 times needlessly. Also do not print an error when a device has been handed over. Signed-off-by: Hans de Goede --- drivers/usb/host/ehci-hcd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index ce760d0cd3..e4c462f343 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; } -- cgit