Bluetooth: btusb: fix memory leak on fw
authorColin Ian King <colin.king@canonical.com>
Fri, 29 Nov 2019 17:36:35 +0000 (17:36 +0000)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 29 Nov 2019 19:21:33 +0000 (20:21 +0100)
Currently the error return path when the call to btusb_mtk_hci_wmt_sync
fails does not free fw.  Fix this by returning via the error_release_fw
label that performs the free'ing.

Addresses-Coverity: ("Resource leak")
Fixes: a1c49c434e15 ("Bluetooth: btusb: Add protocol support for MediaTek MT7668U USB devices")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btusb.c

index 9b587e662b4833c14772208a8b6cc759e39079fe..d9cd0677d41cb90d1b0f0ef6d836cd072fa64efa 100644 (file)
@@ -2867,7 +2867,7 @@ static int btusb_mtk_setup_firmware(struct hci_dev *hdev, const char *fwname)
        err = btusb_mtk_hci_wmt_sync(hdev, &wmt_params);
        if (err < 0) {
                bt_dev_err(hdev, "Failed to send wmt rst (%d)", err);
-               return err;
+               goto err_release_fw;
        }
 
        /* Wait a few moments for firmware activation done */