diff options
author | Daniel C Halperin <daniel.c.halperin@intel.com> | 2009-11-13 14:56:34 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-11-18 17:09:06 -0500 |
commit | f513dfff9622ac72c461770e1fa01d291ba6ba5a (patch) | |
tree | 0f38660deea2d2db217fc4edf10bcb36a637d256 | |
parent | 47ff65c48748086a5e9cde6032451691a28ab19f (diff) |
iwlwifi: make iwlwifi send beacons
Handle BSS_CHANGED_BEACON_ENABLED to enable the sending
of beacons. Also set the correct HT RXON and QoS config.
Signed-off-by: Daniel C Halperin <daniel.c.halperin@intel.com>
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>
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 29f3b73c7560..1c6506529b6e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -2563,6 +2563,10 @@ void iwl_config_ap(struct iwl_priv *priv) | |||
2563 | IWL_WARN(priv, "REPLY_RXON_TIMING failed - " | 2563 | IWL_WARN(priv, "REPLY_RXON_TIMING failed - " |
2564 | "Attempting to continue.\n"); | 2564 | "Attempting to continue.\n"); |
2565 | 2565 | ||
2566 | /* AP has all antennas */ | ||
2567 | priv->chain_noise_data.active_chains = | ||
2568 | priv->hw_params.valid_rx_ant; | ||
2569 | iwl_set_rxon_ht(priv, &priv->current_ht_config); | ||
2566 | if (priv->cfg->ops->hcmd->set_rxon_chain) | 2570 | if (priv->cfg->ops->hcmd->set_rxon_chain) |
2567 | priv->cfg->ops->hcmd->set_rxon_chain(priv); | 2571 | priv->cfg->ops->hcmd->set_rxon_chain(priv); |
2568 | 2572 | ||
@@ -2591,6 +2595,7 @@ void iwl_config_ap(struct iwl_priv *priv) | |||
2591 | /* restore RXON assoc */ | 2595 | /* restore RXON assoc */ |
2592 | priv->staging_rxon.filter_flags |= RXON_FILTER_ASSOC_MSK; | 2596 | priv->staging_rxon.filter_flags |= RXON_FILTER_ASSOC_MSK; |
2593 | iwlcore_commit_rxon(priv); | 2597 | iwlcore_commit_rxon(priv); |
2598 | iwl_reset_qos(priv); | ||
2594 | spin_lock_irqsave(&priv->lock, flags); | 2599 | spin_lock_irqsave(&priv->lock, flags); |
2595 | iwl_activate_qos(priv, 1); | 2600 | iwl_activate_qos(priv, 1); |
2596 | spin_unlock_irqrestore(&priv->lock, flags); | 2601 | spin_unlock_irqrestore(&priv->lock, flags); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c index 33da44f96e9f..a2636f4b068f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.c +++ b/drivers/net/wireless/iwlwifi/iwl-core.c | |||
@@ -2497,6 +2497,14 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw, | |||
2497 | } | 2497 | } |
2498 | } | 2498 | } |
2499 | 2499 | ||
2500 | if ((changes & BSS_CHANGED_BEACON_ENABLED) && | ||
2501 | vif->bss_conf.enable_beacon) { | ||
2502 | memcpy(priv->staging_rxon.bssid_addr, | ||
2503 | bss_conf->bssid, ETH_ALEN); | ||
2504 | memcpy(priv->bssid, bss_conf->bssid, ETH_ALEN); | ||
2505 | iwlcore_config_ap(priv); | ||
2506 | } | ||
2507 | |||
2500 | mutex_unlock(&priv->mutex); | 2508 | mutex_unlock(&priv->mutex); |
2501 | 2509 | ||
2502 | IWL_DEBUG_MAC80211(priv, "leave\n"); | 2510 | IWL_DEBUG_MAC80211(priv, "leave\n"); |