wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async()
authorDan Carpenter <dan.carpenter@linaro.org>
Mon, 30 Oct 2023 09:03:23 +0000 (12:03 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:19 +0000 (15:35 -0800)
[ Upstream commit 40018a8fa9aa63ca5b26e803502138158fb0ff96 ]

Check for if the usb_alloc_urb() failed.

Fixes: 68d57a07bfe5 ("wireless: add plfxlc driver for pureLiFi X, XL, XC devices")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/e8d4a19a-f251-4101-a89b-607345e938cb@moroto.mountain
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/purelifi/plfxlc/usb.c

index 76d0a77..311676c 100644 (file)
@@ -493,9 +493,12 @@ int plfxlc_usb_wreq_async(struct plfxlc_usb *usb, const u8 *buffer,
                          void *context)
 {
        struct usb_device *udev = interface_to_usbdev(usb->ez_usb);
-       struct urb *urb = usb_alloc_urb(0, GFP_ATOMIC);
+       struct urb *urb;
        int r;
 
+       urb = usb_alloc_urb(0, GFP_ATOMIC);
+       if (!urb)
+               return -ENOMEM;
        usb_fill_bulk_urb(urb, udev, usb_sndbulkpipe(udev, EP_DATA_OUT),
                          (void *)buffer, buffer_len, complete_fn, context);