diff --git a/target/linux/generic/patches-2.6.39/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/patches-2.6.39/102-ehci_hcd_ignore_oc.patch index f98d8ee02..371800820 100644 --- a/target/linux/generic/patches-2.6.39/102-ehci_hcd_ignore_oc.patch +++ b/target/linux/generic/patches-2.6.39/102-ehci_hcd_ignore_oc.patch @@ -16,7 +16,7 @@ * PORT_POWER; that's surprising, but maybe within-spec. */ - if (!ignore_oc) -+ if (!ignore_oc || !ehci->ignore_oc) ++ if (!ignore_oc && !ehci->ignore_oc) mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; @@ -25,7 +25,7 @@ status |= USB_PORT_STAT_C_ENABLE << 16; - if ((temp & PORT_OCC) && !ignore_oc){ -+ if ((temp & PORT_OCC) && (!ignore_oc || !ehci->ignore_oc)){ ++ if ((temp & PORT_OCC) && (!ignore_oc && !ehci->ignore_oc)){ status |= USB_PORT_STAT_C_OVERCURRENT << 16; /* diff --git a/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch index 2da61397d..a7eb07e4c 100644 --- a/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch +++ b/target/linux/generic/patches-3.0/102-ehci_hcd_ignore_oc.patch @@ -16,7 +16,7 @@ * PORT_POWER; that's surprising, but maybe within-spec. */ - if (!ignore_oc) -+ if (!ignore_oc || !ehci->ignore_oc) ++ if (!ignore_oc && !ehci->ignore_oc) mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; @@ -25,7 +25,7 @@ status |= USB_PORT_STAT_C_ENABLE << 16; - if ((temp & PORT_OCC) && !ignore_oc){ -+ if ((temp & PORT_OCC) && (!ignore_oc || !ehci->ignore_oc)){ ++ if ((temp & PORT_OCC) && (!ignore_oc && !ehci->ignore_oc)){ status |= USB_PORT_STAT_C_OVERCURRENT << 16; /* diff --git a/target/linux/generic/patches-3.1/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/patches-3.1/102-ehci_hcd_ignore_oc.patch index d23a01509..c94d718af 100644 --- a/target/linux/generic/patches-3.1/102-ehci_hcd_ignore_oc.patch +++ b/target/linux/generic/patches-3.1/102-ehci_hcd_ignore_oc.patch @@ -16,7 +16,7 @@ * PORT_POWER; that's surprising, but maybe within-spec. */ - if (!ignore_oc) -+ if (!ignore_oc || !ehci->ignore_oc) ++ if (!ignore_oc && !ehci->ignore_oc) mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; @@ -25,7 +25,7 @@ status |= USB_PORT_STAT_C_ENABLE << 16; - if ((temp & PORT_OCC) && !ignore_oc){ -+ if ((temp & PORT_OCC) && (!ignore_oc || !ehci->ignore_oc)){ ++ if ((temp & PORT_OCC) && (!ignore_oc && !ehci->ignore_oc)){ status |= USB_PORT_STAT_C_OVERCURRENT << 16; /* diff --git a/target/linux/generic/patches-3.2/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/patches-3.2/102-ehci_hcd_ignore_oc.patch index 4ab267854..2ce8ddaa1 100644 --- a/target/linux/generic/patches-3.2/102-ehci_hcd_ignore_oc.patch +++ b/target/linux/generic/patches-3.2/102-ehci_hcd_ignore_oc.patch @@ -16,7 +16,7 @@ * PORT_POWER; that's surprising, but maybe within-spec. */ - if (!ignore_oc) -+ if (!ignore_oc || !ehci->ignore_oc) ++ if (!ignore_oc && !ehci->ignore_oc) mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; @@ -25,7 +25,7 @@ status |= USB_PORT_STAT_C_ENABLE << 16; - if ((temp & PORT_OCC) && !ignore_oc){ -+ if ((temp & PORT_OCC) && (!ignore_oc || !ehci->ignore_oc)){ ++ if ((temp & PORT_OCC) && (!ignore_oc && !ehci->ignore_oc)){ status |= USB_PORT_STAT_C_OVERCURRENT << 16; /*