Commit 11b2a25f authored by Felix Fietkau's avatar Felix Fietkau Committed by Kalle Valo

mt76: stop tx queues from the driver callback instead of common code

Allows the driver to control whether to send a BlockAckReq after waking
up. MT76x2 needs this set to true, for MT7603 (to be submitted later)
it needs to be false.
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 00dfae9a
...@@ -541,12 +541,10 @@ mt76_check_ps(struct mt76_dev *dev, struct sk_buff *skb) ...@@ -541,12 +541,10 @@ mt76_check_ps(struct mt76_dev *dev, struct sk_buff *skb)
if (!!test_bit(MT_WCID_FLAG_PS, &wcid->flags) == ps) if (!!test_bit(MT_WCID_FLAG_PS, &wcid->flags) == ps)
return; return;
if (ps) { if (ps)
set_bit(MT_WCID_FLAG_PS, &wcid->flags); set_bit(MT_WCID_FLAG_PS, &wcid->flags);
mt76_stop_tx_queues(dev, sta, true); else
} else {
clear_bit(MT_WCID_FLAG_PS, &wcid->flags); clear_bit(MT_WCID_FLAG_PS, &wcid->flags);
}
ieee80211_sta_ps_transition(sta, ps); ieee80211_sta_ps_transition(sta, ps);
dev->drv->sta_ps(dev, sta, ps); dev->drv->sta_ps(dev, sta, ps);
......
...@@ -321,6 +321,7 @@ mt76x2_sta_ps(struct mt76_dev *mdev, struct ieee80211_sta *sta, bool ps) ...@@ -321,6 +321,7 @@ mt76x2_sta_ps(struct mt76_dev *mdev, struct ieee80211_sta *sta, bool ps)
struct mt76x2_dev *dev = container_of(mdev, struct mt76x2_dev, mt76); struct mt76x2_dev *dev = container_of(mdev, struct mt76x2_dev, mt76);
int idx = msta->wcid.idx; int idx = msta->wcid.idx;
mt76_stop_tx_queues(&dev->mt76, sta, true);
mt76x2_mac_wcid_set_drop(dev, idx, ps); mt76x2_mac_wcid_set_drop(dev, idx, ps);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment