Loading drivers/usb/dwc3/dwc3-msm.c +6 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved. */ #include <linux/module.h> Loading Loading @@ -4992,6 +4992,11 @@ static int dwc3_otg_start_peripheral(struct dwc3_msm *mdwc, int on) mdwc->in_device_mode = false; usb_gadget_vbus_disconnect(&dwc->gadget); /* * Clearing err_evt_seen after disconnect ensures that interrupts * are ignored if err_evt_seen is set */ dwc->err_evt_seen = false; usb_phy_notify_disconnect(mdwc->hs_phy, USB_SPEED_HIGH); usb_phy_notify_disconnect(mdwc->ss_phy, USB_SPEED_SUPER); redriver_notify_disconnect(mdwc->ss_redriver_node); Loading drivers/usb/dwc3/gadget.c +2 −1 Original line number Diff line number Diff line Loading @@ -2330,7 +2330,8 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on) dwc->softconnect = is_on; if (((dwc->dr_mode > USB_DR_MODE_HOST) && !dwc->vbus_active) || !dwc->gadget_driver || dwc->err_evt_seen) { || !dwc->gadget_driver || (dwc->err_evt_seen && dwc->softconnect)) { /* * Need to wait for vbus_session(on) from otg driver or to * the udc_start. Loading Loading
drivers/usb/dwc3/dwc3-msm.c +6 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved. */ #include <linux/module.h> Loading Loading @@ -4992,6 +4992,11 @@ static int dwc3_otg_start_peripheral(struct dwc3_msm *mdwc, int on) mdwc->in_device_mode = false; usb_gadget_vbus_disconnect(&dwc->gadget); /* * Clearing err_evt_seen after disconnect ensures that interrupts * are ignored if err_evt_seen is set */ dwc->err_evt_seen = false; usb_phy_notify_disconnect(mdwc->hs_phy, USB_SPEED_HIGH); usb_phy_notify_disconnect(mdwc->ss_phy, USB_SPEED_SUPER); redriver_notify_disconnect(mdwc->ss_redriver_node); Loading
drivers/usb/dwc3/gadget.c +2 −1 Original line number Diff line number Diff line Loading @@ -2330,7 +2330,8 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on) dwc->softconnect = is_on; if (((dwc->dr_mode > USB_DR_MODE_HOST) && !dwc->vbus_active) || !dwc->gadget_driver || dwc->err_evt_seen) { || !dwc->gadget_driver || (dwc->err_evt_seen && dwc->softconnect)) { /* * Need to wait for vbus_session(on) from otg driver or to * the udc_start. Loading