On Wed, Aug 04, 2021 at 09:38:09AM +0800, Peter Chen wrote: > On 21-08-02 22:52:12, Salah Triki wrote: > > Based on the documentation of usb_[disable|enable]_autosuspend(), the > > caller must hold udev's device lock. > > > > Signed-off-by: Salah Triki <salah.triki@xxxxxxxxx> > > --- > > drivers/usb/chipidea/otg_fsm.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c > > index 6ed4b00dba96..2d4174250432 100644 > > --- a/drivers/usb/chipidea/otg_fsm.c > > +++ b/drivers/usb/chipidea/otg_fsm.c > > @@ -518,12 +518,14 @@ static void ci_otg_loc_sof(struct otg_fsm *fsm, int on) > > if (!udev) > > return; > > > > + usb_lock_device(udev); > > if (on) { > > usb_disable_autosuspend(udev); > > } else { > > pm_runtime_set_autosuspend_delay(&udev->dev, 0); > > usb_enable_autosuspend(udev); > > } > > + usb_unlock_device(udev); > > } > > > > Acked-by: Peter Chen <peter.chen@xxxxxxxxxx> I think this is not ok, see the other threads...