From: Paul Stewart Date: Wed, 21 Nov 2012 22:28:44 +0000 (-0800) Subject: CHROMIUMOS: mwifiex: Disable transmit aggregation X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=6fcfecca9575848120e8c9e35b3ad848b1e85f29;p=cascardo%2Flinux.git CHROMIUMOS: mwifiex: Disable transmit aggregation Disable requesting transmit aggregation. In situations where the firmware receives a particular type of ADDBA response, it enters a Block-Ack-Request loop and no further frames are transmitted. Until this larger issue is addressed, we cannot safely request aggregation. Signed-off-by: Paul Stewart BUG=chrome-os-partner:12192 TEST=Associate with modified mac80211-based AP which returns a Block-Ack-ADDBA response with only 1 buffer allowed. Change-Id: Icb532a118bb90eca867784fd9b05bf850404e974 Reviewed-on: https://gerrit.chromium.org/gerrit/38483 Reviewed-by: Christopher Wiley Reviewed-by: mukesh agrawal Commit-Ready: Paul Stewart Tested-by: Paul Stewart --- diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c index 2d26babed8f5..c8d4fdad2d58 100644 --- a/drivers/net/wireless/mwifiex/wmm.c +++ b/drivers/net/wireless/mwifiex/wmm.c @@ -78,6 +78,9 @@ static u8 tos_to_tid_inv[] = { static u8 ac_to_tid[4][2] = { {1, 2}, {0, 3}, {4, 5}, {6, 7} }; +static int disable_tx_aggregation = 1; +module_param(disable_tx_aggregation, int, 0644); + /* * This function debug prints the priority parameters for a WMM AC. */ @@ -1211,6 +1214,7 @@ mwifiex_dequeue_tx_packet(struct mwifiex_adapter *adapter) } if (!ptr->is_11n_enabled || + disable_tx_aggregation || mwifiex_is_ba_stream_setup(priv, ptr, tid) || priv->wps.session_enable || ((priv->sec_info.wpa_enabled ||