lx_emul: use usb_unlink_urb() in timeout handler

Replace usb_kill_urb() by usb_unlink_urb() in the timeout handler for
control URBs, as usb_kill_urb() may block and is not allowed to be
called in IRQ/bottom half contexts.

Fixes #4681
This commit is contained in:
Christian Helmuth 2022-11-28 15:22:39 +01:00
parent 5cff81fc29
commit 5ff8e7cadf

View File

@ -521,7 +521,7 @@ static void urb_timeout(struct timer_list *t)
{ {
struct usb_urb_context * context = from_timer(context, t, timeo); struct usb_urb_context * context = from_timer(context, t, timeo);
context->timer_state = TIMER_TRIGGERED; context->timer_state = TIMER_TRIGGERED;
usb_kill_urb(context->urb); usb_unlink_urb(context->urb);
} }