summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/realtek/rtw88/fw.c
diff options
context:
space:
mode:
authorPo-Hao Huang <phhuang@realtek.com>2021-06-24 05:34:59 +0300
committerKalle Valo <kvalo@codeaurora.org>2021-06-24 19:21:15 +0300
commit1d8820d5462dcdd34f3eb7ef4893536c439e476d (patch)
treece783bcea6592aa1c7402f351cbb45e85e8bbd87 /drivers/net/wireless/realtek/rtw88/fw.c
parent1a3ac5c651a0c859bdea64ed964fc93c2ba980d3 (diff)
downloadlinux-1d8820d5462dcdd34f3eb7ef4893536c439e476d.tar.xz
rtw88: fix c2h memory leak
Fix erroneous code that leads to unreferenced objects. During H2C operations, some functions returned without freeing the memory that only the function have access to. Release these objects when they're no longer needed to avoid potentially memory leaks. Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20210624023459.10294-1-pkshih@realtek.com
Diffstat (limited to 'drivers/net/wireless/realtek/rtw88/fw.c')
-rw-r--r--drivers/net/wireless/realtek/rtw88/fw.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
index 176e8b67530e..3bfa5ecc0053 100644
--- a/drivers/net/wireless/realtek/rtw88/fw.c
+++ b/drivers/net/wireless/realtek/rtw88/fw.c
@@ -245,10 +245,12 @@ void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset,
break;
case C2H_WLAN_RFON:
complete(&rtwdev->lps_leave_check);
+ dev_kfree_skb_any(skb);
break;
case C2H_SCAN_RESULT:
complete(&rtwdev->fw_scan_density);
rtw_fw_scan_result(rtwdev, c2h->payload, len);
+ dev_kfree_skb_any(skb);
break;
default:
/* pass offset for further operation */