From: lyz Date: Fri, 23 Jan 2015 09:05:14 +0000 (+0800) Subject: usb: dwc_otg: handle data toggle error in right way X-Git-Tag: firefly_0821_release~4278 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=63bbda58fe6526cbe42d38df7b76ed50594d24a0;p=firefly-linux-kernel-4.4.55.git usb: dwc_otg: handle data toggle error in right way data toggle error without a ChannelHalt status is not a real data toggle err, it is a transfer error state so just clear the interrupt bit rather than resubmit this request Signed-off-by: lyz --- diff --git a/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c index 33018f4f285f..e1dccb1a7a22 100755 --- a/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c +++ b/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c @@ -2179,8 +2179,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t *dwc_otg_hcd, uint32_t num) handle_hc_frmovrun_intr(dwc_otg_hcd, hc, hc_regs, qtd); } if (hcint.b.datatglerr) { - retval |= - handle_hc_datatglerr_intr(dwc_otg_hcd, hc, hc_regs, qtd); + disable_hc_int(hc_regs, datatglerr); + clear_hc_int(hc_regs, chhltd); } return retval;