diff options
Diffstat (limited to 'drivers/usb/host/ehci-hub.c')
| -rw-r--r-- | drivers/usb/host/ehci-hub.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 9f9ab5ccea88..159cc27b1a36 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -643,7 +643,7 @@ ehci_hub_status_data (struct usb_hcd *hcd, char *buf)  	 * always set, seem to clear PORT_OCC and PORT_CSC when writing to  	 * PORT_POWER; that's surprising, but maybe within-spec.  	 */ -	if (!ignore_oc) +	if (!ignore_oc && !ehci->spurious_oc)  		mask = PORT_CSC | PORT_PEC | PORT_OCC;  	else  		mask = PORT_CSC | PORT_PEC; @@ -1013,7 +1013,7 @@ int ehci_hub_control(  		if (temp & PORT_PEC)  			status |= USB_PORT_STAT_C_ENABLE << 16; -		if ((temp & PORT_OCC) && !ignore_oc){ +		if ((temp & PORT_OCC) && (!ignore_oc && !ehci->spurious_oc)){  			status |= USB_PORT_STAT_C_OVERCURRENT << 16;  			/* | 
