diff options
author | Johannes Berg <johannes.berg@intel.com> | 2019-10-02 11:12:25 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-10-04 13:58:13 +0200 |
commit | 2ce113de31320756b25179f3f4512a522bc45263 (patch) | |
tree | 43a054c7d1036b8c269223e3ae2d69358132a59d /drivers/net/wireless/mediatek/mt7601u/main.c | |
parent | 4fd0328d2f6314a40063cb2abcaed78976e3c022 (diff) | |
download | linux-2ce113de31320756b25179f3f4512a522bc45263.tar.gz linux-2ce113de31320756b25179f3f4512a522bc45263.tar.bz2 linux-2ce113de31320756b25179f3f4512a522bc45263.zip |
mac80211: simplify TX aggregation start
There really is no need to make drivers call the
ieee80211_start_tx_ba_cb_irqsafe() function and then
schedule the worker if all we want is to set a bit.
Add a new return value (that was previously considered
invalid) to indicate that the driver is immediately
ready for the session, and make drivers use it. The
only drivers that remain different are the Intel ones
as they need to negotiate more with the firmware.
Link: https://lore.kernel.org/r/1570007543-I152912660131cbab2e5d80b4218238c20f8a06e5@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt7601u/main.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt7601u/main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/mediatek/mt7601u/main.c b/drivers/net/wireless/mediatek/mt7601u/main.c index 72e608cc53af..671d8897ae76 100644 --- a/drivers/net/wireless/mediatek/mt7601u/main.c +++ b/drivers/net/wireless/mediatek/mt7601u/main.c @@ -372,8 +372,7 @@ mt76_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, break; case IEEE80211_AMPDU_TX_START: msta->agg_ssn[tid] = ssn << 4; - ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); - break; + return IEEE80211_AMPDU_TX_START_IMMEDIATE; case IEEE80211_AMPDU_TX_STOP_CONT: ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); break; |