mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
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 it needs to be false Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+2
-4
@@ -507,12 +507,10 @@ mt76_check_ps(struct mt76_dev *dev, struct sk_buff *skb)
|
||||
if (!!test_bit(MT_WCID_FLAG_PS, &wcid->flags) == ps)
|
||||
return;
|
||||
|
||||
if (ps) {
|
||||
if (ps)
|
||||
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);
|
||||
}
|
||||
|
||||
dev->drv->sta_ps(dev, sta, ps);
|
||||
ieee80211_sta_ps_transition(sta, ps);
|
||||
|
||||
@@ -328,6 +328,7 @@ mt7603_sta_ps(struct mt76_dev *mdev, struct ieee80211_sta *sta, bool ps)
|
||||
struct mt7603_sta *msta = (struct mt7603_sta *) sta->drv_priv;
|
||||
int idx = msta->wcid.idx;
|
||||
|
||||
mt76_stop_tx_queues(&dev->mt76, sta, false);
|
||||
mt7603_wtbl_set_ps(dev, idx, 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);
|
||||
int idx = msta->wcid.idx;
|
||||
|
||||
mt76_stop_tx_queues(&dev->mt76, sta, true);
|
||||
mt76x2_mac_wcid_set_drop(dev, idx, ps);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user