aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci-hub.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ehci-hub.c')
-rw-r--r--drivers/usb/host/ehci-hub.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index 818647c33da8..6b5e4d18d4bf 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -855,6 +855,15 @@ static int ehci_hub_control (
855 case SetPortFeature: 855 case SetPortFeature:
856 selector = wIndex >> 8; 856 selector = wIndex >> 8;
857 wIndex &= 0xff; 857 wIndex &= 0xff;
858 if (unlikely(ehci->debug)) {
859 /* If the debug port is active any port
860 * feature requests should get denied */
861 if (wIndex == HCS_DEBUG_PORT(ehci->hcs_params) &&
862 (readl(&ehci->debug->control) & DBGP_ENABLED)) {
863 retval = -ENODEV;
864 goto error_exit;
865 }
866 }
858 if (!wIndex || wIndex > ports) 867 if (!wIndex || wIndex > ports)
859 goto error; 868 goto error;
860 wIndex--; 869 wIndex--;
@@ -951,6 +960,7 @@ error:
951 /* "stall" on error */ 960 /* "stall" on error */
952 retval = -EPIPE; 961 retval = -EPIPE;
953 } 962 }
963error_exit:
954 spin_unlock_irqrestore (&ehci->lock, flags); 964 spin_unlock_irqrestore (&ehci->lock, flags);
955 return retval; 965 return retval;
956} 966}