wifi: mt76: mt7615: add mt7615_mutex_acquire/release in mt7615_sta_set_decap_offload
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 25 Jul 2022 08:26:40 +0000 (10:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:34:43 +0000 (12:34 +0200)
[ Upstream commit 765c69d477a44c088e5d19e7758dfa4db418e3ba ]

Similar to mt7921 driver, introduce mt7615_mutex_acquire/release in
mt7615_sta_set_decap_offload in order to avoid sending mcu commands
while the device is in low-power state.

Fixes: d4b98c63d7a77 ("mt76: mt7615: add support for rx decapsulation offload")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7615/main.c

index 7c52a4d85ceab40962d0916d42ee66ecc171e07a..8f1338dae21148acfcdcb07eaf14a7ffa231aaac 100644 (file)
@@ -1186,12 +1186,16 @@ static void mt7615_sta_set_decap_offload(struct ieee80211_hw *hw,
        struct mt7615_dev *dev = mt7615_hw_dev(hw);
        struct mt7615_sta *msta = (struct mt7615_sta *)sta->drv_priv;
 
+       mt7615_mutex_acquire(dev);
+
        if (enabled)
                set_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags);
        else
                clear_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags);
 
        mt7615_mcu_set_sta_decap_offload(dev, vif, sta);
+
+       mt7615_mutex_release(dev);
 }
 
 #ifdef CONFIG_PM