diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-06-17 16:21:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-17 16:21:14 -0400 |
commit | abf52f86aa0a49a7377350cafa8f218c4cd227e7 (patch) | |
tree | dd9549023a99d37fb1bbcbaad9c10ae102a1882e /drivers/net/wireless/iwlwifi/iwl3945-base.c | |
parent | 6a0076e02a884e86c762a7b63cb50c2e30067491 (diff) | |
parent | 021570e55b7152843376b9d9f60624e3e05ac054 (diff) | |
download | op-kernel-dev-abf52f86aa0a49a7377350cafa8f218c4cd227e7.zip op-kernel-dev-abf52f86aa0a49a7377350cafa8f218c4cd227e7.tar.gz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts:
net/mac80211/mlme.c
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index eb71a8c..697fa6c 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c @@ -3363,10 +3363,13 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw, bool is_ap = vif->type == NL80211_IFTYPE_STATION; u8 sta_id; - sta_priv->common.sta_id = IWL_INVALID_STATION; - IWL_DEBUG_INFO(priv, "received request to add station %pM\n", sta->addr); + mutex_lock(&priv->mutex); + IWL_DEBUG_INFO(priv, "proceeding to add station %pM\n", + sta->addr); + sta_priv->common.sta_id = IWL_INVALID_STATION; + ret = iwl_add_station_common(priv, sta->addr, is_ap, &sta->ht_cap, &sta_id); @@ -3374,6 +3377,7 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw, IWL_ERR(priv, "Unable to add station %pM (%d)\n", sta->addr, ret); /* Should we return success if return code is EEXIST ? */ + mutex_unlock(&priv->mutex); return ret; } @@ -3383,6 +3387,7 @@ static int iwl3945_mac_sta_add(struct ieee80211_hw *hw, IWL_DEBUG_INFO(priv, "Initializing rate scaling for station %pM\n", sta->addr); iwl3945_rs_rate_init(priv, sta, sta_id); + mutex_unlock(&priv->mutex); return 0; } |