Skip to content

Commit

Permalink
staging: wfx: fix frame reordering
Browse files Browse the repository at this point in the history
[ 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>
  • Loading branch information
jerome-pouiller authored and gregkh committed Oct 29, 2020
1 parent 2c0e02f commit 7524142
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions drivers/staging/wfx/sta.c
Expand Up @@ -682,15 +682,16 @@ int wfx_ampdu_action(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_ampdu_params *params)
{
/* Aggregation is implemented fully in firmware,
* including block ack negotiation. Do not allow
* mac80211 stack to do anything: it interferes with
* the firmware.
*/

/* Note that we still need this function stubbed. */

return -ENOTSUPP;
// Aggregation is implemented fully in firmware
switch (params->action) {
case IEEE80211_AMPDU_RX_START:
case IEEE80211_AMPDU_RX_STOP:
// Just acknowledge it to enable frame re-ordering
return 0;
default:
// Leave the firmware doing its business for tx aggregation
return -ENOTSUPP;
}
}

int wfx_add_chanctx(struct ieee80211_hw *hw,
Expand Down

0 comments on commit 7524142

Please sign in to comment.