staging: vt6656: Fix crash when WLAN is turned off
authorPhilipp Hortmann <philipp.g.hortmann@gmail.com>
Thu, 3 Feb 2022 19:22:01 +0000 (20:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Feb 2022 14:24:26 +0000 (15:24 +0100)
Stop submitting urbs before calling usb_kill_urb() and usb_free_urb().

Signed-off-by: Philipp Hortmann <philipp.g.hortmann@gmail.com>
Link: https://lore.kernel.org/r/20220203192201.GA18509@matrix-ESPRIMO-P710
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/usbpipe.c

index 7f45734390f633207ba6b2de5cad18c9fe5c4ff7..d505b4b69ba4933699ac212681c9dea1e1a8a1df 100644 (file)
@@ -230,7 +230,9 @@ static void vnt_start_interrupt_urb_complete(struct urb *urb)
        else
                vnt_int_process_data(priv);
 
-       status = usb_submit_urb(priv->interrupt_urb, GFP_ATOMIC);
+       if (!test_bit(DEVICE_FLAGS_DISCONNECTED, &priv->flags))
+               status = usb_submit_urb(priv->interrupt_urb, GFP_ATOMIC);
+
        if (status)
                dev_dbg(&priv->usb->dev, "Submit int URB failed %d\n", status);
 }