iwlwifi: support truly passive scanning
If passive scanning is requested we should not ask the microcode to do active scanning after detecting traffic on a channel -- that should only be used when an active scan is requested but some channels are marked passive. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
1ecf9fc131
Коммит
b097ad2975
|
@ -712,7 +712,12 @@ static void iwl_bg_request_scan(struct work_struct *data)
|
||||||
} else if (priv->scan_bands & BIT(IEEE80211_BAND_5GHZ)) {
|
} else if (priv->scan_bands & BIT(IEEE80211_BAND_5GHZ)) {
|
||||||
band = IEEE80211_BAND_5GHZ;
|
band = IEEE80211_BAND_5GHZ;
|
||||||
rate = IWL_RATE_6M_PLCP;
|
rate = IWL_RATE_6M_PLCP;
|
||||||
scan->good_CRC_th = IWL_GOOD_CRC_TH;
|
/*
|
||||||
|
* If active scaning is requested but a certain channel
|
||||||
|
* is marked passive, we can do active scanning if we
|
||||||
|
* detect transmissions.
|
||||||
|
*/
|
||||||
|
scan->good_CRC_th = is_active ? IWL_GOOD_CRC_TH : 0;
|
||||||
|
|
||||||
/* Force use of chains B and C (0x6) for scan Rx for 4965
|
/* Force use of chains B and C (0x6) for scan Rx for 4965
|
||||||
* Avoid A (0x1) because of its off-channel reception on A-band.
|
* Avoid A (0x1) because of its off-channel reception on A-band.
|
||||||
|
|
|
@ -3078,7 +3078,12 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
|
||||||
band = IEEE80211_BAND_2GHZ;
|
band = IEEE80211_BAND_2GHZ;
|
||||||
} else if (priv->scan_bands & BIT(IEEE80211_BAND_5GHZ)) {
|
} else if (priv->scan_bands & BIT(IEEE80211_BAND_5GHZ)) {
|
||||||
scan->tx_cmd.rate = IWL_RATE_6M_PLCP;
|
scan->tx_cmd.rate = IWL_RATE_6M_PLCP;
|
||||||
scan->good_CRC_th = IWL_GOOD_CRC_TH;
|
/*
|
||||||
|
* If active scaning is requested but a certain channel
|
||||||
|
* is marked passive, we can do active scanning if we
|
||||||
|
* detect transmissions.
|
||||||
|
*/
|
||||||
|
scan->good_CRC_th = is_active ? IWL_GOOD_CRC_TH : 0;
|
||||||
band = IEEE80211_BAND_5GHZ;
|
band = IEEE80211_BAND_5GHZ;
|
||||||
} else {
|
} else {
|
||||||
IWL_WARN(priv, "Invalid scan band count\n");
|
IWL_WARN(priv, "Invalid scan band count\n");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче