Thread (17 messages) flat view 17 messages, 2 authors, 2021-07-05

Re: [PATCH v2 05/12] usb: otg-fsm: Fix hrtimer list corruption

From: Dmitry Osipenko <digetx@gmail.com>
Date: 2021-07-05 02:45:15
Also in: linux-pm, linux-tegra, linux-usb, lkml

05.07.2021 05:21, Peter Chen пишет:
On 21-07-03 20:22:38, Dmitry Osipenko wrote:
quoted
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.
Since OTG FSM is known to be in a bad shape, could you please make a
patch to remove it? I hope it's not enabled by default in a distro
kernels.. oh no, CONFIG_USB_OTG_FSM=y at least in ArchLinux [1].

[1] https://archlinuxarm.org/packages/armv7h/linux-armv7/files/config

I think we should fix that hrtimer bug, beackport the fix into stable
kernels and then remove OTG FSM. Does this sound good to you?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help