On 21-07-03 20:22:38, Dmitry Osipenko wrote:
03.07.2021 14:08, Peter Chen пишет:
quoted
On 21-07-02 02:43:10, Dmitry Osipenko wrote:
quoted
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