Message ID | 20190219202554.GA5065@localhost (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC] out-of-order frames | expand |
On Tue, Feb 19, 2019 at 03:25:54PM -0500, Bob Copeland wrote: > - This is on a 4.14.94 kernel: > > [ 12.454034] ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe > [ 12.487148] ath10k_pci 0000:01:00.0: firmware ver 10.4-3.4-00104 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast crc32 4317698a Just a few follow-up observations: - seems specific to mesh mode; in AP mode I see, e.g.: [ 7762.442026] XXX start rx ba session peer 2 ...where that is a printk I added before we setup the session in mac80211. - newest firmware does not fix - addba requests are robust management frames and I was initially testing with pmf=1; however, I turned that off and it is still broken
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 47e0cb59b948..0d8c4378db9f 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -6075,6 +6075,15 @@ static int ath10k_mac_tdls_vifs_count(struct ieee80211_hw *hw) return num_tdls_vifs; } +static void ath10k_init_ba_offload(struct ieee80211_vif *vif, + const u8 *addr) +{ + int i; + + for (i = 0; i < IEEE80211_NUM_TIDS; i++) + ieee80211_start_rx_ba_session_offl(vif, addr, i); +} + static int ath10k_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, @@ -6163,6 +6172,8 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, goto exit; } + ath10k_init_ba_offload(vif, sta->addr); + arsta->peer_id = find_first_bit(peer->peer_ids, ATH10K_MAX_NUM_PEER_IDS);