From 6fdb20a025ebba077cc3ad7d3f763bef17102bc6 Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Fri, 3 Jul 2020 10:15:51 +0200 Subject: [PATCH] mt76: mt7615: run mt7615_mcu_set_wmm holding mt76 mutex Make sure to run mt7615_mcu_set_wmm() holding mt76 mutex in order to wake the device from low power state and avoid races Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- mt7615/main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mt7615/main.c b/mt7615/main.c index a4a9f1e1..9e254610 100644 --- a/mt7615/main.c +++ b/mt7615/main.c @@ -433,11 +433,17 @@ mt7615_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, { struct mt7615_vif *mvif = (struct mt7615_vif *)vif->drv_priv; struct mt7615_dev *dev = mt7615_hw_dev(hw); + int err; + + mt7615_mutex_acquire(dev); queue = mt7615_lmac_mapping(dev, queue); queue += mvif->wmm_idx * MT7615_MAX_WMM_SETS; + err = mt7615_mcu_set_wmm(dev, queue, params); - return mt7615_mcu_set_wmm(dev, queue, params); + mt7615_mutex_release(dev); + + return err; } static void mt7615_configure_filter(struct ieee80211_hw *hw,