From 9181fb4ea4d1268b5272d8ed93b8f16a63674028 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 30 Sep 2022 11:15:50 +0200 Subject: [PATCH] Revert "usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind" This reverts commit b83692feb09c1817674839f5b0ad68e630f61e51 which is commit 8217f07a50236779880f13e87f99224cd9117f83 upstream. It breaks the kernel ABI and will be brought back in an abi-safe way in a later commit. Bug: 161946584 Bug: 200287549 Cc: Wesley Cheng Signed-off-by: Greg Kroah-Hartman Change-Id: Ib9a113d36bc784b243e5a1b168a8c7470992c8ff --- drivers/usb/dwc3/core.h | 2 -- drivers/usb/dwc3/gadget.c | 3 +-- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index 07a61290a4bd..591c7927797e 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -1043,7 +1043,6 @@ struct dwc3_scratchpad_array { * @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize * @hsphy_interface: "utmi" or "ulpi" * @connected: true when we're connected to a host, false otherwise - * @softconnect: true when gadget connect is called, false when disconnect runs * @delayed_status: true when gadget driver asks for delayed status * @ep0_bounced: true when we used bounce buffer * @ep0_expect_in: true when we expect a DATA IN transfer @@ -1264,7 +1263,6 @@ struct dwc3 { const char *hsphy_interface; unsigned connected:1; - unsigned softconnect:1; unsigned delayed_status:1; unsigned ep0_bounced:1; unsigned ep0_expect_in:1; diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 4202c0bac54a..eecd51757707 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2461,7 +2461,6 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on) is_on = !!is_on; - dwc->softconnect = is_on; /* * Per databook, when we want to stop the gadget, if a control transfer * is still in process, complete it and get the core into setup phase. @@ -4430,7 +4429,7 @@ int dwc3_gadget_resume(struct dwc3 *dwc) { int ret; - if (!dwc->gadget_driver || !dwc->softconnect) + if (!dwc->gadget_driver) return 0; ret = __dwc3_gadget_start(dwc);