aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-05-15 01:54:08 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-21 21:48:00 -0400
commita98410139a2ef6553ae5d73bf12bb9a68d0b38b9 (patch)
tree55401ad30cf0ecc3f007704e6d523567f040124b /drivers/net/wireless/iwlwifi/iwl-4965-rs.c
parentfd4abac54a7a7f1c0acad5ddc1fbf4af22f92569 (diff)
iwlwifi: don't switch to SGI if not supported by AP
This patch fixes SGI support. RS didn't look at the capabilities of the AP before switching to SGI, this should lead to a stall in the traffic with an AP that doesn't support SGI. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965-rs.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965-rs.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
index 071c7b6ebef2..2adc2281c77c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
@@ -1439,6 +1439,15 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
1439 } 1439 }
1440 break; 1440 break;
1441 case IWL_SISO_SWITCH_GI: 1441 case IWL_SISO_SWITCH_GI:
1442 if (!tbl->is_fat &&
1443 !(priv->current_ht_config.sgf &
1444 HT_SHORT_GI_20MHZ))
1445 break;
1446 if (tbl->is_fat &&
1447 !(priv->current_ht_config.sgf &
1448 HT_SHORT_GI_40MHZ))
1449 break;
1450
1442 IWL_DEBUG_RATE("LQ: SISO toggle SGI/NGI\n"); 1451 IWL_DEBUG_RATE("LQ: SISO toggle SGI/NGI\n");
1443 1452
1444 memcpy(search_tbl, tbl, sz); 1453 memcpy(search_tbl, tbl, sz);
@@ -1521,6 +1530,15 @@ static int rs_move_mimo_to_other(struct iwl_priv *priv,
1521 break; 1530 break;
1522 1531
1523 case IWL_MIMO_SWITCH_GI: 1532 case IWL_MIMO_SWITCH_GI:
1533 if (!tbl->is_fat &&
1534 !(priv->current_ht_config.sgf &
1535 HT_SHORT_GI_20MHZ))
1536 break;
1537 if (tbl->is_fat &&
1538 !(priv->current_ht_config.sgf &
1539 HT_SHORT_GI_40MHZ))
1540 break;
1541
1524 IWL_DEBUG_RATE("LQ: MIMO toggle SGI/NGI\n"); 1542 IWL_DEBUG_RATE("LQ: MIMO toggle SGI/NGI\n");
1525 1543
1526 /* Set up new search table for MIMO */ 1544 /* Set up new search table for MIMO */