]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: hso: bail out on interrupt URB allocation failure
authorJohan Hovold <johan@kernel.org>
Wed, 19 May 2021 12:47:17 +0000 (14:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 May 2021 20:11:39 +0000 (13:11 -0700)
Commit 31db0dbd7244 ("net: hso: check for allocation failure in
hso_create_bulk_serial_device()") recently started returning an error
when the driver fails to allocate resources for the interrupt endpoint
and tiocmget functionality.

For consistency let's bail out from probe also if the URB allocation
fails.

Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/hso.c

index 260f850d69eb335d27e9062bf7d12b98dd207ce9..b48b2a25210cd8668bb4dfd4eec5d86512b5b92c 100644 (file)
@@ -2635,14 +2635,14 @@ static struct hso_device *hso_create_bulk_serial_device(
                }
 
                tiocmget->urb = usb_alloc_urb(0, GFP_KERNEL);
-               if (tiocmget->urb) {
-                       mutex_init(&tiocmget->mutex);
-                       init_waitqueue_head(&tiocmget->waitq);
-               } else
-                       hso_free_tiomget(serial);
-       }
-       else
+               if (!tiocmget->urb)
+                       goto exit;
+
+               mutex_init(&tiocmget->mutex);
+               init_waitqueue_head(&tiocmget->waitq);
+       } else {
                num_urbs = 1;
+       }
 
        if (hso_serial_common_create(serial, num_urbs, BULK_URB_RX_SIZE,
                                     BULK_URB_TX_SIZE))