[kernel] fix thinko in 102-ehci_hcd_ignore_oc patch
[openwrt.git] / target / linux / generic / patches-3.1 / 102-ehci_hcd_ignore_oc.patch
index 6cef4d9..c94d718 100644 (file)
                    &ehci->regs->intr_enable); /* Turn On Interrupts */
 --- a/drivers/usb/host/ehci-hub.c
 +++ b/drivers/usb/host/ehci-hub.c
-@@ -581,7 +581,7 @@ ehci_hub_status_data (struct usb_hcd *hc
+@@ -580,7 +580,7 @@ ehci_hub_status_data (struct usb_hcd *hc
         * 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)
++      if (!ignore_oc && !ehci->ignore_oc)
                mask = PORT_CSC | PORT_PEC | PORT_OCC;
        else
                mask = PORT_CSC | PORT_PEC;
-@@ -806,7 +806,7 @@ static int ehci_hub_control (
+@@ -805,7 +805,7 @@ static 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->ignore_oc)){
++              if ((temp & PORT_OCC) && (!ignore_oc && !ehci->ignore_oc)){
                        status |= USB_PORT_STAT_C_OVERCURRENT << 16;
  
                        /*
 --- a/drivers/usb/host/ehci.h
 +++ b/drivers/usb/host/ehci.h
-@@ -139,6 +139,7 @@ struct ehci_hcd {                  /* one per controlle
-       unsigned                fs_i_thresh:1;  /* Intel iso scheduling */
+@@ -140,6 +140,7 @@ struct ehci_hcd {                  /* one per controlle
        unsigned                use_dummy_qh:1; /* AMD Frame List table quirk*/
        unsigned                has_synopsys_hc_bug:1; /* Synopsys HC */
+       unsigned                frame_index_bug:1; /* MosChip (AKA NetMos) */
 +      unsigned                ignore_oc:1;
  
        /* required for usb32 quirk */
This page took 0.029283 seconds and 4 git commands to generate.