Stop also the interrupt-out URB unconditionally in tower_abort_transfers() which is called from release() (for connected devices). Calling usb_kill_urb() for an idle URB is perfectly fine. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> --- drivers/usb/misc/legousbtower.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c index 33533faa019e..3e409dfe172c 100644 --- a/drivers/usb/misc/legousbtower.c +++ b/drivers/usb/misc/legousbtower.c @@ -448,8 +448,7 @@ static void tower_abort_transfers (struct lego_usb_tower *dev) { /* shutdown transfer */ usb_kill_urb(dev->interrupt_in_urb); - if (dev->interrupt_out_busy) - usb_kill_urb(dev->interrupt_out_urb); + usb_kill_urb(dev->interrupt_out_urb); } -- 2.23.0