From b56692d7bc2d485084e506db8106d6b900d4a9a3 Mon Sep 17 00:00:00 2001 From: Tomas Winkler Date: Tue, 27 Nov 2007 21:00:52 +0200 Subject: [PATCH] --- yaml --- r: 74463 b: refs/heads/master c: 864792e3d93a89496e02ca21b2e2eeba0aa857ad h: refs/heads/master i: 74461: 9d72477d9d0d2fa6dfde8e7fe83654c1d0ed7e98 74459: 15703cf64e8e0e9ec82dd36eecda94d5d65bd3e8 74455: 25e1b59be67910b32b2cb03de39370d52d3adf2f 74447: 71a469446e14aaebb8e0f52ad8a7b787902b8e7b 74431: 6405045a687f63099ebf6422696d38e3c57f8799 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c | 11 +++++++---- trunk/drivers/net/wireless/iwlwifi/iwl4965-base.c | 8 +++++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index c9059d443a65..5d72b075b641 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6591e36a1c52445f95f26738394909ee9bf94390 +refs/heads/master: 864792e3d93a89496e02ca21b2e2eeba0aa857ad diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c b/trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c index 5751c89857f0..ae89a0f2c799 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/trunk/drivers/net/wireless/iwlwifi/iwl3945-base.c @@ -6940,13 +6940,10 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw, DECLARE_MAC_BUF(mac); IWL_DEBUG_MAC80211("enter: id %d, type %d\n", conf->if_id, conf->type); - if (conf->mac_addr) - IWL_DEBUG_MAC80211("enter: MAC %s\n", - print_mac(mac, conf->mac_addr)); if (priv->interface_id) { IWL_DEBUG_MAC80211("leave - interface_id != 0\n"); - return 0; + return -EOPNOTSUPP; } spin_lock_irqsave(&priv->lock, flags); @@ -6955,6 +6952,12 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw, spin_unlock_irqrestore(&priv->lock, flags); mutex_lock(&priv->mutex); + + if (conf->mac_addr) { + IWL_DEBUG_MAC80211("Set: %s\n", print_mac(mac, conf->mac_addr)); + memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN); + } + iwl_set_mode(priv, conf->type); IWL_DEBUG_MAC80211("leave\n"); diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl4965-base.c b/trunk/drivers/net/wireless/iwlwifi/iwl4965-base.c index 0b22e0173576..22d3bbc7be52 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/trunk/drivers/net/wireless/iwlwifi/iwl4965-base.c @@ -7330,9 +7330,6 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw, DECLARE_MAC_BUF(mac); IWL_DEBUG_MAC80211("enter: id %d, type %d\n", conf->if_id, conf->type); - if (conf->mac_addr) - IWL_DEBUG_MAC80211("enter: MAC %s\n", - print_mac(mac, conf->mac_addr)); if (priv->interface_id) { IWL_DEBUG_MAC80211("leave - interface_id != 0\n"); @@ -7345,6 +7342,11 @@ static int iwl_mac_add_interface(struct ieee80211_hw *hw, spin_unlock_irqrestore(&priv->lock, flags); mutex_lock(&priv->mutex); + + if (conf->mac_addr) { + IWL_DEBUG_MAC80211("Set %s\n", print_mac(mac, conf->mac_addr)); + memcpy(priv->mac_addr, conf->mac_addr, ETH_ALEN); + } iwl_set_mode(priv, conf->type); IWL_DEBUG_MAC80211("leave\n");