Skip to content

Commit 7524142

Browse files
jerome-pouillergregkh
authored andcommitted
staging: wfx: fix frame reordering
[ Upstream commit 7373f31 ] When mac80211 debug is enabled, the trace below appears: [60744.340037] wlan0: Rx A-MPDU request on aa:bb:cc:97:60:24 tid 0 result -524 This imply that ___ieee80211_start_rx_ba_session will prematurely exit and frame reordering won't be enabled. Fixes: e5da5fb ("staging: wfx: fix CCMP/TKIP replay protection") Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20200825085828.399505-7-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 2c0e02f commit 7524142

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

drivers/staging/wfx/sta.c

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -682,15 +682,16 @@ int wfx_ampdu_action(struct ieee80211_hw *hw,
682682
struct ieee80211_vif *vif,
683683
struct ieee80211_ampdu_params *params)
684684
{
685-
/* Aggregation is implemented fully in firmware,
686-
* including block ack negotiation. Do not allow
687-
* mac80211 stack to do anything: it interferes with
688-
* the firmware.
689-
*/
690-
691-
/* Note that we still need this function stubbed. */
692-
693-
return -ENOTSUPP;
685+
// Aggregation is implemented fully in firmware
686+
switch (params->action) {
687+
case IEEE80211_AMPDU_RX_START:
688+
case IEEE80211_AMPDU_RX_STOP:
689+
// Just acknowledge it to enable frame re-ordering
690+
return 0;
691+
default:
692+
// Leave the firmware doing its business for tx aggregation
693+
return -ENOTSUPP;
694+
}
694695
}
695696

696697
int wfx_add_chanctx(struct ieee80211_hw *hw,

0 commit comments

Comments
 (0)