--- zzzz-none-000/linux-4.9.218/drivers/usb/host/ehci-hub.c 2020-04-02 15:20:41.000000000 +0000 +++ seale-7590ax-750/linux-4.9.218/drivers/usb/host/ehci-hub.c 2023-03-29 10:59:07.000000000 +0000 @@ -638,7 +638,7 @@ * 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->ignore_oc) mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; @@ -1008,7 +1008,7 @@ if (temp & PORT_PEC) status |= USB_PORT_STAT_C_ENABLE << 16; - if ((temp & PORT_OCC) && !ignore_oc){ + if ((temp & PORT_OCC) && (!ignore_oc && !ehci->ignore_oc)) { status |= USB_PORT_STAT_C_OVERCURRENT << 16; /*