diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2008-05-15 01:54:08 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-21 21:48:00 -0400 |
commit | a98410139a2ef6553ae5d73bf12bb9a68d0b38b9 (patch) | |
tree | 55401ad30cf0ecc3f007704e6d523567f040124b /drivers/net/wireless/iwlwifi/iwl-4965-rs.c | |
parent | fd4abac54a7a7f1c0acad5ddc1fbf4af22f92569 (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.c | 18 |
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 */ |