hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/wireless/marvell/libertas/if_usb.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * This file contains functions used in USB interface module.
34 */
....@@ -255,8 +256,11 @@
255256 goto dealloc;
256257 }
257258
258
- if (!(priv = lbs_add_card(cardp, &intf->dev)))
259
+ priv = lbs_add_card(cardp, &intf->dev);
260
+ if (IS_ERR(priv)) {
261
+ r = PTR_ERR(priv);
259262 goto err_add_card;
263
+ }
260264
261265 cardp->priv = priv;
262266
....@@ -283,6 +287,7 @@
283287 return 0;
284288
285289 err_get_fw:
290
+ usb_put_dev(udev);
286291 lbs_remove_card(priv);
287292 err_add_card:
288293 if_usb_reset_device(cardp);
....@@ -367,7 +372,7 @@
367372 cardp->fwseqnum, cardp->totalbytes);
368373 } else if (fwdata->hdr.dnldcmd == cpu_to_le32(FW_HAS_LAST_BLOCK)) {
369374 lbs_deb_usb2(&cardp->udev->dev, "Host has finished FW downloading\n");
370
- lbs_deb_usb2(&cardp->udev->dev, "Donwloading FW JUMP BLOCK\n");
375
+ lbs_deb_usb2(&cardp->udev->dev, "Downloading FW JUMP BLOCK\n");
371376
372377 cardp->fwfinalblk = 1;
373378 }
....@@ -632,7 +637,7 @@
632637 priv->resp_len[i] = (recvlength - MESSAGE_HEADER_LEN);
633638 memcpy(priv->resp_buf[i], recvbuff + MESSAGE_HEADER_LEN,
634639 priv->resp_len[i]);
635
- kfree_skb(skb);
640
+ dev_kfree_skb_irq(skb);
636641 lbs_notify_command_response(priv, i);
637642
638643 spin_unlock_irqrestore(&priv->driver_lock, flags);