On Mon, Oct 19, 2020 at 08:45:10AM +0300, Felipe Balbi wrote: > Ferry Toth <fntoth@xxxxxxxxx> writes: > > This occurs with edison-arduino board, that has a nifty switch allowing > > to switch between gadget/host mode. In host mode it boot fine, then > > crashes when I flip the switch to gadget. > > > > The below trace if what I get from the console when booting with gadget > > mode selected. > > > > The last kernel is used where everything is obviously working fine is 5.6.0. > > > > The kernel is built specifically for the platform, nothing suspcious > > going on the the dwc3 area, see > > https://github.com/edison-fw/linux/commits/eds-acpi-5.9.0 > It this something you can reproduce on your end? Ferry, can you get dwc3 > trace logs when this happens? ftrace_dump_on_oops may help here. For time being I can confirm that switch stopped working between v5.7 (v5.8) and v5.8.16. But I didn't see any crash so far (I don't use any predefined gadget, though). afb420486016 usb: dwc3: gadget: Handle ZLP for sg requests 8301e3aa1c8d usb: dwc3: gadget: Fix handling ZLP d884a90cec5a usb: dwc3: gadget: Don't setup more than requested Reverting them does not help, so I looked into drivers/usb changes. Manual guess work did give any result, so I bisected: # good: [9ece50d8a470ca7235ffd6ac0f9c5f0f201fe2c8] Linux 5.8.5 # good: [96d020ddff6adff267a6900bcfcd46a8993f5152] xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed # bad: [ccc9838fed80f04e45a2c317e4a2dacdf2f1e3c2] drm/amd/pm: correct the thermal alert temperature limit settings # bad: [bbf423c28efcde2beec2b187806eda0041cb0582] x86/irq: Unbreak interrupt affinity setting # good: [9a9cc8c9b1c715317c5fc18ac695751577bdf250] powerpc/perf: Fix crashes with generic_compat_pmu & BHRB # bad: [8cb3561d084ef532cd13d4f1f9077a900ff9f740] usbip: Implement a match function to fix usbip # bad: [3c491c44194253789d568549fac3b34dccdbcecd] crypto: af_alg - Work around empty control messages without MSG_MORE # bad: [1d35dfde2a7d9a0627b1e9465e8e4305478fb945] device property: Fix the secondary firmware node handling in set_primary_fwnode() # first bad commit: [1d35dfde2a7d9a0627b1e9465e8e4305478fb945] device property: Fix the secondary firmware node handling in set_primary_fwnode() Revert on v5.9 helps. Heikki, any idea? -- With Best Regards, Andy Shevchenko