From 7d12b38ab6f6b77198cd3a66db19587bbdd3308c Mon Sep 17 00:00:00 2001
From: Howard Hsu <howard-yh.hsu@mediatek.com>
Date: Wed, 14 Dec 2022 10:28:06 +0800
Subject: [PATCH] wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after init_work
Git-commit: 7d12b38ab6f6b77198cd3a66db19587bbdd3308c
Patch-mainline: v6.3-rc1
References: bsc#1209980
Enable thermal management by default shall not be executed during mcu
init. This causes thermal configuration being reset to the firmware
default settings.
Fixes: 0063b86c9120 ("mt76: mt7915e: Enable thermal management by default")
Reviewed-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Acked-by: Takashi Iwai <tiwai@suse.de>
---
drivers/net/wireless/mediatek/mt76/mt7915/init.c | 3 +--
drivers/net/wireless/mediatek/mt76/mt7915/main.c | 6 ++++++
2 files changed, 7 insertions(+), 2 deletions(-)
--- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
@@ -200,8 +200,7 @@ static int mt7915_thermal_init(struct mt
phy->throttle_temp[0] = 110;
phy->throttle_temp[1] = 120;
- return mt7915_mcu_set_thermal_throttling(phy,
- MT7915_THERMAL_THROTTLE_MAX);
+ return 0;
}
static void mt7915_led_set_config(struct led_classdev *led_cdev,
--- a/drivers/net/wireless/mediatek/mt76/mt7915/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
@@ -65,6 +65,12 @@ static int mt7915_start(struct ieee80211
mt7915_mac_enable_nf(dev, 1);
}
+ ret = mt7915_mcu_set_thermal_throttling(phy,
+ MT7915_THERMAL_THROTTLE_MAX);
+
+ if (ret)
+ goto out;
+
ret = mt76_connac_mcu_set_rts_thresh(&dev->mt76, 0x92b,
phy != &dev->phy);
if (ret)