Loading drivers/usb/dwc3/dwc3-msm.c +14 −0 Original line number Diff line number Diff line Loading @@ -957,6 +957,7 @@ static void dwc3_msm_notify_event(struct dwc3 *dwc, unsigned event) case DWC3_CONTROLLER_ERROR_EVENT: dev_info(mdwc->dev, "DWC3_CONTROLLER_ERROR_EVENT received\n"); dwc3_msm_dump_phy_info(mdwc); dwc3_msm_write_reg(mdwc->base, DWC3_DEVTEN, 0); /* * schedule work for doing block reset for recovery from erratic * error event. Loading Loading @@ -1024,10 +1025,23 @@ static void dwc3_block_reset_usb_work(struct work_struct *w) { struct dwc3_msm *mdwc = container_of(w, struct dwc3_msm, usb_block_reset_work); u32 reg; dev_dbg(mdwc->dev, "%s\n", __func__); dwc3_msm_block_reset(&mdwc->ext_xceiv, true); reg = (DWC3_DEVTEN_EVNTOVERFLOWEN | DWC3_DEVTEN_CMDCMPLTEN | DWC3_DEVTEN_ERRTICERREN | DWC3_DEVTEN_WKUPEVTEN | DWC3_DEVTEN_ULSTCNGEN | DWC3_DEVTEN_CONNECTDONEEN | DWC3_DEVTEN_USBRSTEN | DWC3_DEVTEN_DISCONNEVTEN); dwc3_msm_write_reg(mdwc->base, DWC3_DEVTEN, reg); } static void dwc3_chg_enable_secondary_det(struct dwc3_msm *mdwc) Loading Loading
drivers/usb/dwc3/dwc3-msm.c +14 −0 Original line number Diff line number Diff line Loading @@ -957,6 +957,7 @@ static void dwc3_msm_notify_event(struct dwc3 *dwc, unsigned event) case DWC3_CONTROLLER_ERROR_EVENT: dev_info(mdwc->dev, "DWC3_CONTROLLER_ERROR_EVENT received\n"); dwc3_msm_dump_phy_info(mdwc); dwc3_msm_write_reg(mdwc->base, DWC3_DEVTEN, 0); /* * schedule work for doing block reset for recovery from erratic * error event. Loading Loading @@ -1024,10 +1025,23 @@ static void dwc3_block_reset_usb_work(struct work_struct *w) { struct dwc3_msm *mdwc = container_of(w, struct dwc3_msm, usb_block_reset_work); u32 reg; dev_dbg(mdwc->dev, "%s\n", __func__); dwc3_msm_block_reset(&mdwc->ext_xceiv, true); reg = (DWC3_DEVTEN_EVNTOVERFLOWEN | DWC3_DEVTEN_CMDCMPLTEN | DWC3_DEVTEN_ERRTICERREN | DWC3_DEVTEN_WKUPEVTEN | DWC3_DEVTEN_ULSTCNGEN | DWC3_DEVTEN_CONNECTDONEEN | DWC3_DEVTEN_USBRSTEN | DWC3_DEVTEN_DISCONNEVTEN); dwc3_msm_write_reg(mdwc->base, DWC3_DEVTEN, reg); } static void dwc3_chg_enable_secondary_det(struct dwc3_msm *mdwc) Loading