CHROMIUMOS: mwifiex: Disable transmit aggregation
authorPaul Stewart <pstew@chromium.org>
Wed, 21 Nov 2012 22:28:44 +0000 (14:28 -0800)
committerGerrit <chrome-bot@google.com>
Thu, 22 Nov 2012 01:01:53 +0000 (17:01 -0800)
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 <pstew@chromium.org>
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 <wiley@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
drivers/net/wireless/mwifiex/wmm.c

index 2d26bab..c8d4fda 100644 (file)
@@ -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 ||