On 21-07-03 20:22:38, Dmitry Osipenko wrote: > 03.07.2021 14:08, Peter Chen пишет: > > On 21-07-02 02:43:10, Dmitry Osipenko wrote: > >> The HNP work can be re-scheduled while it's still in-fly. This results in > >> re-initialization of the busy work, resetting the hrtimer's list node of > >> the work and crashing kernel with null dereference within kernel/timer > >> once work's timer is expired. It's very easy to trigger this problem by > >> re-plugging USB cable quickly. Initialize HNP work only once to fix this > >> trouble. > > > > Fully OTG compliance support has not maintained for years, what's the use case you > > still want to use? > > I don't have any use case for it, but I had CONFIG_USB_OTG_FSM=y and it > was crashing kernel badly. The OTG works perfectly fine without the FSM. You could add below at your dts to disable OTG FSM: hnp-disable srp-disable adp-disable Since there are no users for OTG FSM, it hasn't maintained for years, I am not sure if it still works OK. If I remember correctly, the VBUS will be off if you enable HNP, and the device at the host port will be disconnected, that's may not your expectation. -- Thanks, Peter Chen