diff mbox

[1/7] mt76: stop tx queues from the driver callback instead of common code

Message ID 20180403195254.87700-1-nbd@nbd.name (mailing list archive)
State Accepted
Commit 11b2a25f02b700027aa89ff27c807ec756df01f6
Delegated to: Kalle Valo
Headers show

Commit Message

Felix Fietkau April 3, 2018, 7:52 p.m. UTC
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: Felix Fietkau <nbd@nbd.name>
---
 drivers/net/wireless/mediatek/mt76/mac80211.c    | 6 ++----
 drivers/net/wireless/mediatek/mt76/mt76x2_main.c | 1 +
 2 files changed, 3 insertions(+), 4 deletions(-)

Comments

Kalle Valo April 24, 2018, 5:30 p.m. UTC | #1
Felix Fietkau <nbd@nbd.name> wrote:

> 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: Felix Fietkau <nbd@nbd.name>

7 patches applied to wireless-drivers-next.git, thanks.

11b2a25f02b7 mt76: stop tx queues from the driver callback instead of common code
49149d3f1c6b mt76: add missing VHT maximum A-MPDU length capability
9f67c277a80f mt76: toggle driver station powersave bit before notifying mac80211
80f28994f7d9 mt76: rework tx power handling
07073a2768ac mt76: fix potential sleep in atomic context
18efed59fabc mt76: set RX_FLAG_DUP_VALIDATED for A-MPDU reordered packets
1af83148a4fc mt76: check qos ack policy before reordering packets
diff mbox

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c
index 4f30cdcd2b53..962ed8234065 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -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)
 		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);
-	}
 
 	ieee80211_sta_ps_transition(sta, ps);
 	dev->drv->sta_ps(dev, sta, ps);
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2_main.c b/drivers/net/wireless/mediatek/mt76/mt76x2_main.c
index 73c127f92613..81c58f865c64 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2_main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2_main.c
@@ -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);
 }