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/staging/gdm724x/gdm_usb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/gdm724x/gdm_usb.c b/drivers/staging/gdm724x/gdm_usb.c index 54bdb64f52e8..31b3b3e563c8 100644 --- a/drivers/staging/gdm724x/gdm_usb.c +++ b/drivers/staging/gdm724x/gdm_usb.c @@ -846,7 +846,9 @@ static int gdm_usb_probe(struct usb_interface *intf, udev->intf = intf; intf->needs_remote_wakeup = 1; + usb_lock_device(usbdev); usb_enable_autosuspend(usbdev); + usb_unlock_device(usbdev); pm_runtime_set_autosuspend_delay(&usbdev->dev, AUTO_SUSPEND_TIMER); /* List up hosts with big endians, otherwise, -- 2.25.1