--- x/drivers/usb/core/devio.c +++ y/drivers/usb/core/devio.c @@ -417,6 +417,7 @@ static void free_async(struct async *as) { int i; + usb_kill_urb(as->urb); put_pid(as->pid); if (as->cred) put_cred(as->cred);