iwlwifi: set MAC address in RXON from interface
authorJohannes Berg <johannes.berg@intel.com>
Wed, 12 May 2010 10:33:11 +0000 (03:33 -0700)
committerReinette Chatre <reinette.chatre@intel.com>
Sun, 6 Jun 2010 06:14:04 +0000 (23:14 -0700)
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>
drivers/net/wireless/iwlwifi/iwl-core.c

index 4315212ab46a072bd4ba9108484a8b27417fca28..245cb906c39e21e5bd6263107a3dcde6b64d0e2b 100644 (file)
@@ -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;