mt76: update to Git HEAD (2023-12-08)
[openwrt/staging/blocktrron.git] / package / kernel / mt76 / patches / 0010-wifi-mt76-mt7996-fix-potential-memory-leakage-when-r.patch
1 From 424e9df466cea3bb39a1e92bf95f3efe65472c27 Mon Sep 17 00:00:00 2001
2 From: Howard Hsu <howard-yh.hsu@mediatek.com>
3 Date: Wed, 20 Mar 2024 19:09:14 +0800
4 Subject: [PATCH] wifi: mt76: mt7996: fix potential memory leakage when reading
5 chip temperature
6
7 Without this commit, reading chip temperature will cause memory leakage.
8
9 Fixes: 6879b2e94172 ("wifi: mt76: mt7996: add thermal sensor device support")
10 Reported-by: Ryder Lee <ryder.lee@mediatek.com>
11 Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
12 Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
13 Signed-off-by: Felix Fietkau <nbd@nbd.name>
14 ---
15 mt7996/mcu.c | 5 ++++-
16 1 file changed, 4 insertions(+), 1 deletion(-)
17
18 --- a/mt7996/mcu.c
19 +++ b/mt7996/mcu.c
20 @@ -3721,6 +3721,7 @@ int mt7996_mcu_get_temperature(struct mt
21 } __packed * res;
22 struct sk_buff *skb;
23 int ret;
24 + u32 temp;
25
26 ret = mt76_mcu_send_and_get_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(THERMAL),
27 &req, sizeof(req), true, &skb);
28 @@ -3728,8 +3729,10 @@ int mt7996_mcu_get_temperature(struct mt
29 return ret;
30
31 res = (void *)skb->data;
32 + temp = le32_to_cpu(res->temperature);
33 + dev_kfree_skb(skb);
34
35 - return le32_to_cpu(res->temperature);
36 + return temp;
37 }
38
39 int mt7996_mcu_set_thermal_throttling(struct mt7996_phy *phy, u8 state)