On Thu, Feb 09, 2023 at 10:05:35AM -0500, Alan Stern wrote: > On Thu, Feb 09, 2023 at 12:41:03PM +0100, Sascha Hauer wrote: > > I just checked on the host side: With or without my patch I get > > NO-CARRIER on the host. I have to do a 'ip link set usb0 up' on > > the device side, with that I get a <BROADCAST,MULTICAST,UP,LOWER_UP> > > on the host side. > > > > Could it be that my patch breaks something on the device side that > > prevents the device from bringing the link up? > > Sascha: > > When you first posted your original patch, I wondered if it was really > the right thing to do. Making the net device not be a child of the UDC > device means you can (in theory) have strange behavior such as the > kernel suspending the USB device controller while expecting the network > interface to keep on working. > > Is there a different way of solving the original problem? I don't know which. One thing would be to couple the lifetime of the ethernet device to the lifetime of the UDC, but the result would look different to userspace, so wouldn't be ideal either. Note the original reason doing this change was that we saw backtraces when doing a 'reboot -f', the 'rmmod dummy_hcd' was just an easy reproducer for the problem. One other possibility might be to take a reference to the UDC while it is in use so that the module can't be rmmoded. Not sure if that fixes my original problem though. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |