aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-05-12 03:33:11 -0700
committerReinette Chatre <reinette.chatre@intel.com>2010-06-05 23:14:04 -0700
commit7684c4083114e0f0cc02f3a7cbef27b1e29381cd (patch)
tree0ee6a5ba23a37cd7bfbd408cf8821b2c9879c5c2 /drivers/net/wireless
parent30eabc1736c79d9b617887042ebebc0141a14170 (diff)
downloadkernel_samsung_aries-7684c4083114e0f0cc02f3a7cbef27b1e29381cd.zip
kernel_samsung_aries-7684c4083114e0f0cc02f3a7cbef27b1e29381cd.tar.gz
kernel_samsung_aries-7684c4083114e0f0cc02f3a7cbef27b1e29381cd.tar.bz2
iwlwifi: set MAC address in RXON from interface
When we do not have an interface, priv->mac_addr is all zeroes, so the memcpy() is not useful as the RXON buffer has been cleared previously. Therefore, use the interface's address that we are setting up the RXON for, if available. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index 4315212..245cb90 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -979,7 +979,10 @@ void iwl_connection_init_rx_config(struct iwl_priv *priv,
/* clear both MIX and PURE40 mode flag */
priv->staging_rxon.flags &= ~(RXON_FLG_CHANNEL_MODE_MIXED |
RXON_FLG_CHANNEL_MODE_PURE_40);
- memcpy(priv->staging_rxon.node_addr, priv->mac_addr, ETH_ALEN);
+
+ if (vif)
+ memcpy(priv->staging_rxon.node_addr, vif->addr, ETH_ALEN);
+
priv->staging_rxon.ofdm_ht_single_stream_basic_rates = 0xff;
priv->staging_rxon.ofdm_ht_dual_stream_basic_rates = 0xff;
priv->staging_rxon.ofdm_ht_triple_stream_basic_rates = 0xff;