From: Colin Ian King Date: Fri, 29 Nov 2019 17:36:35 +0000 (+0000) Subject: Bluetooth: btusb: fix memory leak on fw X-Git-Tag: v5.5.3~329 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=965b6b8ea4c169067beb4e53c4698628e735233e;p=users%2Fdwmw2%2Flinux.git Bluetooth: btusb: fix memory leak on fw commit 3168c19d7eb17a0108a3b60ad8e8c1b18ea05c63 upstream. 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 Signed-off-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index b6bf5c195d941..e3e6bbc19707e 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -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 */