If the call to hw_init() fails for any of the drivers, the driver will
leak memory that was allocated in BT coexistence setup. Technically, each
of the drivers should have done this free; however placing it in rtl_pci
fixes all the drivers with only a single patch.
Signed-off-by: Larry Finger <[email protected]>
---
v2 - Fix typo in subject line
---
Kalle,
This bug has been present in the driver since it was added to the
kernel, there is no particular rush in applying it.
Larry
---
drivers/net/wireless/realtek/rtlwifi/pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index 4055e0ab75ba..c275fc932adb 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -1793,6 +1793,8 @@ static int rtl_pci_start(struct ieee80211_hw *hw)
if (err) {
RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
"Failed to config hardware!\n");
+ kfree(rtlpriv->btcoexist.btc_context);
+ kfree(rtlpriv->btcoexist.wifi_only_context);
return err;
}
rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RETRY_LIMIT,
--
2.22.1
Larry Finger <[email protected]> wrote:
> If the call to hw_init() fails for any of the drivers, the driver will
> leak memory that was allocated in BT coexistence setup. Technically, each
> of the drivers should have done this free; however placing it in rtl_pci
> fixes all the drivers with only a single patch.
>
> Signed-off-by: Larry Finger <[email protected]>
Patch applied to wireless-drivers-next.git, thanks.
8cc782cd997d rtlwifi: rtl_pci: Fix memory leak when hardware init fails
--
https://patchwork.kernel.org/patch/11115745/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches