From: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date: Sat, 23 Oct 2010 16:15:44 +0000 (-0700)
Subject: iwlagn: turn dynamic smps on while BT is on
X-Git-Tag: v2.6.38-rc1~476^2~558^2~95
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f5682c01eb85fce13d064d232c947322bd7e2631;p=users%2Fwilly%2Fxarray.git

iwlagn: turn dynamic smps on while BT is on

While BT is on and doing iscan and/or pscan, BT is in listen
mode which will impact WiFi throughput, we need to
enable dynamic smps in order to improve the rx throughput.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
index b01d81a3550b..3427fc2b7d68 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
@@ -1897,7 +1897,10 @@ static void iwlagn_bt_traffic_change_work(struct work_struct *work)
 
 	switch (priv->bt_traffic_load) {
 	case IWL_BT_COEX_TRAFFIC_LOAD_NONE:
-		smps_request = IEEE80211_SMPS_AUTOMATIC;
+		if (priv->bt_status)
+			smps_request = IEEE80211_SMPS_DYNAMIC;
+		else
+			smps_request = IEEE80211_SMPS_AUTOMATIC;
 		break;
 	case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
 		smps_request = IEEE80211_SMPS_DYNAMIC;