[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230201192022.GC2415@darkstar.musicnaut.iki.fi>
Date: Wed, 1 Feb 2023 21:20:22 +0200
From: Aaro Koskinen <aaro.koskinen@....fi>
To: Alan Stern <stern@...land.harvard.edu>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [BUG REPORT] USB UDC/gadget regression
Hi,
After commit fc274c1e9973 ("USB: gadget: Add a new bus for gadgets"),
g_ether started to crash on modprobe when used with OMAP UDC.
It seems that because of drv->bus getting set to NULL in the middle of
bus_add_driver() things go wrong.
The below simple change seems to fix it, but I'm not sure if this is
the correct way? Many drivers seem to be doing the same in UDC start -
are they really all broken?
diff --git a/drivers/usb/gadget/udc/omap_udc.c b/drivers/usb/gadget/udc/omap_udc.c
index 6e9314e95be3..47d83bbb09e3 100644
--- a/drivers/usb/gadget/udc/omap_udc.c
+++ b/drivers/usb/gadget/udc/omap_udc.c
@@ -2062,7 +2062,6 @@ static int omap_udc_start(struct usb_gadget *g,
udc->softconnect = 1;
/* hook up the driver */
- driver->driver.bus = NULL;
udc->driver = driver;
spin_unlock_irqrestore(&udc->lock, flags);
A.
Powered by blists - more mailing lists