Skip to content

Commit

Permalink
carl9170: fix leaks at failure path in carl9170_usb_probe()
Browse files Browse the repository at this point in the history
carl9170_usb_probe() does not handle request_firmware_nowait() failure
that leads to several leaks in this case.
The patch adds all required deallocations.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Alexey Khoroshilov authored and John W. Linville committed May 22, 2014
1 parent b88bb29 commit 5c2b607
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion drivers/net/wireless/ath/carl9170/usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1076,8 +1076,14 @@ static int carl9170_usb_probe(struct usb_interface *intf,

carl9170_set_state(ar, CARL9170_STOPPED);

return request_firmware_nowait(THIS_MODULE, 1, CARL9170FW_NAME,
err = request_firmware_nowait(THIS_MODULE, 1, CARL9170FW_NAME,
&ar->udev->dev, GFP_KERNEL, ar, carl9170_usb_firmware_step2);
if (err) {
usb_put_dev(udev);
usb_put_dev(udev);
carl9170_free(ar);
}
return err;
}

static void carl9170_usb_disconnect(struct usb_interface *intf)
Expand Down

0 comments on commit 5c2b607

Please sign in to comment.