aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-10-04 08:47:23 -0400
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-10-14 12:46:33 -0400
commit085fbca29d7b4574c4e42189ee5789004e4beff7 (patch)
treee573c78ee748410861112635643d8a8294f89e2a /drivers/net/wireless/iwlwifi/iwl-agn-lib.c
parentde05ead8f8649788603afc470eb1c2ea2b8b1655 (diff)
iwlwifi: allow probe-after-rx on 2.4 GHz
There are two passive 2.4 GHz channels: 12 and 13. If you have a hidden SSID on those, you will not be able to connect to it because we don't send out probe requests there. We can allow this by using the firmware's probe-after-rx functionality on those channels as well. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=16462 Reported-by: Daniel J Blueman <daniel.blueman@gmail.com> Tested-by: Daniel J Blueman <daniel.blueman@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-lib.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-lib.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
index c1a389883af0..b555edd53354 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
@@ -1447,35 +1447,35 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
1447 if (priv->cfg->bt_params && 1447 if (priv->cfg->bt_params &&
1448 priv->cfg->bt_params->advanced_bt_coexist) 1448 priv->cfg->bt_params->advanced_bt_coexist)
1449 scan->tx_cmd.tx_flags |= TX_CMD_FLG_IGNORE_BT; 1449 scan->tx_cmd.tx_flags |= TX_CMD_FLG_IGNORE_BT;
1450 scan->good_CRC_th = IWL_GOOD_CRC_TH_DISABLED;
1451 break; 1450 break;
1452 case IEEE80211_BAND_5GHZ: 1451 case IEEE80211_BAND_5GHZ:
1453 rate = IWL_RATE_6M_PLCP; 1452 rate = IWL_RATE_6M_PLCP;
1454 /*
1455 * If active scanning is requested but a certain channel is
1456 * marked passive, we can do active scanning if we detect
1457 * transmissions.
1458 *
1459 * There is an issue with some firmware versions that triggers
1460 * a sysassert on a "good CRC threshold" of zero (== disabled),
1461 * on a radar channel even though this means that we should NOT
1462 * send probes.
1463 *
1464 * The "good CRC threshold" is the number of frames that we
1465 * need to receive during our dwell time on a channel before
1466 * sending out probes -- setting this to a huge value will
1467 * mean we never reach it, but at the same time work around
1468 * the aforementioned issue. Thus use IWL_GOOD_CRC_TH_NEVER
1469 * here instead of IWL_GOOD_CRC_TH_DISABLED.
1470 */
1471 scan->good_CRC_th = is_active ? IWL_GOOD_CRC_TH_DEFAULT :
1472 IWL_GOOD_CRC_TH_NEVER;
1473 break; 1453 break;
1474 default: 1454 default:
1475 IWL_WARN(priv, "Invalid scan band\n"); 1455 IWL_WARN(priv, "Invalid scan band\n");
1476 return -EIO; 1456 return -EIO;
1477 } 1457 }
1478 1458
1459 /*
1460 * If active scanning is requested but a certain channel is
1461 * marked passive, we can do active scanning if we detect
1462 * transmissions.
1463 *
1464 * There is an issue with some firmware versions that triggers
1465 * a sysassert on a "good CRC threshold" of zero (== disabled),
1466 * on a radar channel even though this means that we should NOT
1467 * send probes.
1468 *
1469 * The "good CRC threshold" is the number of frames that we
1470 * need to receive during our dwell time on a channel before
1471 * sending out probes -- setting this to a huge value will
1472 * mean we never reach it, but at the same time work around
1473 * the aforementioned issue. Thus use IWL_GOOD_CRC_TH_NEVER
1474 * here instead of IWL_GOOD_CRC_TH_DISABLED.
1475 */
1476 scan->good_CRC_th = is_active ? IWL_GOOD_CRC_TH_DEFAULT :
1477 IWL_GOOD_CRC_TH_NEVER;
1478
1479 band = priv->scan_band; 1479 band = priv->scan_band;
1480 1480
1481 if (priv->cfg->scan_rx_antennas[band]) 1481 if (priv->cfg->scan_rx_antennas[band])