aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVenkataraman, Meenakshi <meenakshi.venkataraman@intel.com>2011-11-10 09:55:25 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-11-11 12:32:56 -0500
commit383b0874abc8c23f15a15773812fb09f23078311 (patch)
treeff4d17ceeb57821fa55e308091c88af7a0522cb6
parent81a3de1ce2929fef2b112c048c50bc52b686f94d (diff)
iwlwifi: fix rate-scaling algorithm for BT combo devices
iwlwifi tries to avoid using antenna B in BT combo devices when BT is active. A bug in the rate-scaling algorithm was causing the combo device to never attempt MIMO rates. Fix the algorithm to opportunistically try MIMO rates when BT traffic is low. Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 66118cea2af..359c47a4fce 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -1458,10 +1458,8 @@ static int rs_move_legacy_other(struct iwl_priv *priv,
1458 break; 1458 break;
1459 case IWL_BT_COEX_TRAFFIC_LOAD_LOW: 1459 case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
1460 /* avoid antenna B unless MIMO */ 1460 /* avoid antenna B unless MIMO */
1461 valid_tx_ant =
1462 first_antenna(hw_params(priv).valid_tx_ant);
1463 if (tbl->action == IWL_LEGACY_SWITCH_ANTENNA2) 1461 if (tbl->action == IWL_LEGACY_SWITCH_ANTENNA2)
1464 tbl->action = IWL_LEGACY_SWITCH_ANTENNA1; 1462 tbl->action = IWL_LEGACY_SWITCH_SISO;
1465 break; 1463 break;
1466 case IWL_BT_COEX_TRAFFIC_LOAD_HIGH: 1464 case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
1467 case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS: 1465 case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
@@ -1636,10 +1634,8 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
1636 break; 1634 break;
1637 case IWL_BT_COEX_TRAFFIC_LOAD_LOW: 1635 case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
1638 /* avoid antenna B unless MIMO */ 1636 /* avoid antenna B unless MIMO */
1639 valid_tx_ant =
1640 first_antenna(hw_params(priv).valid_tx_ant);
1641 if (tbl->action == IWL_SISO_SWITCH_ANTENNA2) 1637 if (tbl->action == IWL_SISO_SWITCH_ANTENNA2)
1642 tbl->action = IWL_SISO_SWITCH_ANTENNA1; 1638 tbl->action = IWL_SISO_SWITCH_MIMO2_AB;
1643 break; 1639 break;
1644 case IWL_BT_COEX_TRAFFIC_LOAD_HIGH: 1640 case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
1645 case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS: 1641 case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS: