USB: clear chhltd int if NYET/NAK/ACK/other in non-error case.
authorwlf <wulf@rock-chips.com>
Thu, 20 Mar 2014 03:09:39 +0000 (11:09 +0800)
committerwlf <wulf@rock-chips.com>
Thu, 20 Mar 2014 03:09:39 +0000 (11:09 +0800)
drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c

index eb2f573e99a9847b1e29e8be18dc12f7f9d6e44e..dfec664b39ce073493a5be9bc39ab434e19097fe 100755 (executable)
@@ -2039,6 +2039,8 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
        } else {
                DWC_PRINTF("NYET/NAK/ACK/other in non-error case, 0x%08x\n",
                           hcint.d32);
+               if(!hcint.b.nyet && !hcint.b.nak  && !hcint.b.ack)
+                       clear_hc_int(hc_regs,chhltd);
        }
 }