diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-05 01:28:35 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-05 01:28:35 -0700 |
commit | 33e334950abda8e42c3b6e6f280fad0d4ab92141 (patch) | |
tree | 7d52e5d4772f578c499200f38cfc54b79e3357fb /drivers/net/wireless/p54/p54common.c | |
parent | ad619800e4e034cad44299b2a22df9eebb043ac3 (diff) | |
parent | 3e2236c108792c3afbbfbe3f373ee7fdd68eda8e (diff) | |
download | op-kernel-dev-33e334950abda8e42c3b6e6f280fad0d4ab92141.zip op-kernel-dev-33e334950abda8e42c3b6e6f280fad0d4ab92141.tar.gz |
Merge branch 'no-ath9k' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'drivers/net/wireless/p54/p54common.c')
-rw-r--r-- | drivers/net/wireless/p54/p54common.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c index ffaf7a6..4da89ea 100644 --- a/drivers/net/wireless/p54/p54common.c +++ b/drivers/net/wireless/p54/p54common.c @@ -886,9 +886,12 @@ static void p54_remove_interface(struct ieee80211_hw *dev, static int p54_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf) { int ret; + struct p54_common *priv = dev->priv; + mutex_lock(&priv->conf_mutex); ret = p54_set_freq(dev, cpu_to_le16(conf->channel->center_freq)); p54_set_vdcf(dev); + mutex_unlock(&priv->conf_mutex); return ret; } @@ -898,10 +901,12 @@ static int p54_config_interface(struct ieee80211_hw *dev, { struct p54_common *priv = dev->priv; + mutex_lock(&priv->conf_mutex); p54_set_filter(dev, 0, priv->mac_addr, conf->bssid, 0, 1, 0, 0xF642); p54_set_filter(dev, 0, priv->mac_addr, conf->bssid, 2, 0, 0, 0); p54_set_leds(dev, 1, !is_multicast_ether_addr(conf->bssid), 0); memcpy(priv->bssid, conf->bssid, ETH_ALEN); + mutex_unlock(&priv->conf_mutex); return 0; } @@ -1009,6 +1014,7 @@ struct ieee80211_hw *p54_init_common(size_t priv_data_len) } p54_init_vdcf(dev); + mutex_init(&priv->conf_mutex); return dev; } |