Messages in this thread Patch in this message | | | From | Martin Kepplinger <> | Subject | g_multi rmmod problem: usb_put_function_instance(fi_acm) hangs | Date | Mon, 13 Jan 2020 16:16:15 +0100 |
| |
hi,
on the librem5 with defconfig https://source.puri.sm/martin.kepplinger/linux-next/blob/next-20200110/librem5_cpuidle_mainline_atf/arch/arm64/configs/librem5_defconfig running next-20200110 I load g_multi during startup.
rmmod g_multi results in error like [ 190.995685] dwc3 38100000.usb: timed out waiting for SETUP phase or [ 109.702545] dwc3 38100000.usb: failed to enable ep0out
and hangs rmmod. What "fixes" the problem is the following change below. Does that make any sense to you?
How would a real fix look like here, or how would I further debug?
thanks, martin
--- a/drivers/usb/gadget/legacy/multi.c +++ b/drivers/usb/gadget/legacy/multi.c @@ -459,7 +459,8 @@ static int multi_unbind(struct usb_composite_dev *cdev) #ifdef USB_ETH_RNDIS usb_put_function(f_acm_rndis); #endif - usb_put_function_instance(fi_acm); + /* FIXME the following hangs during rmmod */ + // usb_put_function_instance(fi_acm); #ifdef USB_ETH_RNDIS usb_put_function(f_rndis); usb_put_function_instance(fi_rndis);
| |