From: Felix Fietkau Date: Tue, 3 Apr 2018 19:52:50 +0000 (+0200) Subject: mt76: toggle driver station powersave bit before notifying mac80211 X-Git-Tag: v4.18-rc1~114^2~217^2~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9f67c277a80f37a6594ae4ea3b78157773e1a23b;p=thirdparty%2Fkernel%2Flinux.git mt76: toggle driver station powersave bit before notifying mac80211 Avoids race conditions from mac80211 enqueueing tx packets before the tx-drop bit is cleared Signed-off-by: Felix Fietkau Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c index ec531ce50d01b..eb49e0a6758c0 100644 --- a/drivers/net/wireless/mediatek/mt76/mac80211.c +++ b/drivers/net/wireless/mediatek/mt76/mac80211.c @@ -547,8 +547,8 @@ mt76_check_ps(struct mt76_dev *dev, struct sk_buff *skb) else clear_bit(MT_WCID_FLAG_PS, &wcid->flags); - ieee80211_sta_ps_transition(sta, ps); dev->drv->sta_ps(dev, sta, ps); + ieee80211_sta_ps_transition(sta, ps); } void mt76_rx_complete(struct mt76_dev *dev, struct sk_buff_head *frames,