| From f03eca7e22ac0c3914ec64143992ad7d4266a8b8 Mon Sep 17 00:00:00 2001 |
| From: Howard Hsu <howard-yh.hsu@mediatek.com> |
| Date: Tue, 12 Mar 2024 10:02:17 +0800 |
| Subject: [PATCH 008/120] mtk: wifi: mt76: mt7996: fix potential memory leakage |
| when reading chip temperature |
| |
| Without this commit, reading chip temperature will cause memory leakage. |
| |
| CR-Id: WCNCR00240772 |
| Fixes: 6879b2e94172 ("wifi: mt76: mt7996: add thermal sensor device support") |
| Reported-by: Ryder Lee <ryder.lee@mediatek.com> |
| Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com> |
| Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> |
| --- |
| mt7996/mcu.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/mt7996/mcu.c b/mt7996/mcu.c |
| index c4eefc593..d5e35f6dd 100644 |
| --- a/mt7996/mcu.c |
| +++ b/mt7996/mcu.c |
| @@ -3750,6 +3750,7 @@ int mt7996_mcu_get_temperature(struct mt7996_phy *phy) |
| } __packed * res; |
| struct sk_buff *skb; |
| int ret; |
| + u32 temp; |
| |
| ret = mt76_mcu_send_and_get_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(THERMAL), |
| &req, sizeof(req), true, &skb); |
| @@ -3757,8 +3758,10 @@ int mt7996_mcu_get_temperature(struct mt7996_phy *phy) |
| return ret; |
| |
| res = (void *)skb->data; |
| + temp = le32_to_cpu(res->temperature); |
| + dev_kfree_skb(skb); |
| |
| - return le32_to_cpu(res->temperature); |
| + return temp; |
| } |
| |
| int mt7996_mcu_set_thermal_throttling(struct mt7996_phy *phy, u8 state) |
| -- |
| 2.39.2 |
| |