diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-09-22 10:32:13 -0400 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-10-07 18:53:14 -0400 |
commit | 1cf263736092b3712103a5290a93dd0fff376f26 (patch) | |
tree | f8980fb9e2a360ae27ac4b6fa529f86715a506d5 /drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |
parent | a313f3839eeeebb3cbbcf1fbd2aee92bde389032 (diff) |
iwlwifi: fix dual-mode scanning
The recent scanning code shuffle accidentally
moved the SCAN_HW bit setting _after_ the PAN
parameters are modified, which means that they
don't take the scan into account -- fix that.
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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c index 0ad0d44893ab..c1a389883af0 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |||
@@ -1565,13 +1565,15 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif) | |||
1565 | cmd.data = scan; | 1565 | cmd.data = scan; |
1566 | scan->len = cpu_to_le16(cmd.len); | 1566 | scan->len = cpu_to_le16(cmd.len); |
1567 | 1567 | ||
1568 | /* set scan bit here for PAN params */ | ||
1569 | set_bit(STATUS_SCAN_HW, &priv->status); | ||
1570 | |||
1568 | if (priv->cfg->ops->hcmd->set_pan_params) { | 1571 | if (priv->cfg->ops->hcmd->set_pan_params) { |
1569 | ret = priv->cfg->ops->hcmd->set_pan_params(priv); | 1572 | ret = priv->cfg->ops->hcmd->set_pan_params(priv); |
1570 | if (ret) | 1573 | if (ret) |
1571 | return ret; | 1574 | return ret; |
1572 | } | 1575 | } |
1573 | 1576 | ||
1574 | set_bit(STATUS_SCAN_HW, &priv->status); | ||
1575 | ret = iwl_send_cmd_sync(priv, &cmd); | 1577 | ret = iwl_send_cmd_sync(priv, &cmd); |
1576 | if (ret) { | 1578 | if (ret) { |
1577 | clear_bit(STATUS_SCAN_HW, &priv->status); | 1579 | clear_bit(STATUS_SCAN_HW, &priv->status); |