Commit 9b7530c8 authored by Jeff Garzik's avatar Jeff Garzik

Merge branch 'fixes-jgarzik' of...

Merge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
parents 0ae842ea fdc8f43b
...@@ -1638,7 +1638,7 @@ void bcm43xx_phy_set_baseband_attenuation(struct bcm43xx_private *bcm, ...@@ -1638,7 +1638,7 @@ void bcm43xx_phy_set_baseband_attenuation(struct bcm43xx_private *bcm,
return; return;
} }
if (phy->analog == 1) { if (phy->analog > 1) {
value = bcm43xx_phy_read(bcm, 0x0060) & ~0x003C; value = bcm43xx_phy_read(bcm, 0x0060) & ~0x003C;
value |= (baseband_attenuation << 2) & 0x003C; value |= (baseband_attenuation << 2) & 0x003C;
} else { } else {
......
...@@ -466,7 +466,7 @@ static int rtl8187_add_interface(struct ieee80211_hw *dev, ...@@ -466,7 +466,7 @@ static int rtl8187_add_interface(struct ieee80211_hw *dev,
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
priv->hwaddr = conf->mac_addr; priv->hwaddr = conf->mac_addr ? conf->mac_addr : dev->wiphy->perm_addr;
return 0; return 0;
} }
......
...@@ -822,7 +822,7 @@ static void cs_set_control(struct zd_mac *mac, struct zd_ctrlset *cs, ...@@ -822,7 +822,7 @@ static void cs_set_control(struct zd_mac *mac, struct zd_ctrlset *cs,
cs->control |= ZD_CS_MULTICAST; cs->control |= ZD_CS_MULTICAST;
/* PS-POLL */ /* PS-POLL */
if (stype == IEEE80211_STYPE_PSPOLL) if (ftype == IEEE80211_FTYPE_CTL && stype == IEEE80211_STYPE_PSPOLL)
cs->control |= ZD_CS_PS_POLL_FRAME; cs->control |= ZD_CS_PS_POLL_FRAME;
/* Unicast data frames over the threshold should have RTS */ /* Unicast data frames over the threshold should have RTS */
......
...@@ -3161,12 +3161,9 @@ COMPATIBLE_IOCTL(SIOCSIWSENS) ...@@ -3161,12 +3161,9 @@ COMPATIBLE_IOCTL(SIOCSIWSENS)
COMPATIBLE_IOCTL(SIOCGIWSENS) COMPATIBLE_IOCTL(SIOCGIWSENS)
COMPATIBLE_IOCTL(SIOCSIWRANGE) COMPATIBLE_IOCTL(SIOCSIWRANGE)
COMPATIBLE_IOCTL(SIOCSIWPRIV) COMPATIBLE_IOCTL(SIOCSIWPRIV)
COMPATIBLE_IOCTL(SIOCGIWPRIV)
COMPATIBLE_IOCTL(SIOCSIWSTATS) COMPATIBLE_IOCTL(SIOCSIWSTATS)
COMPATIBLE_IOCTL(SIOCGIWSTATS)
COMPATIBLE_IOCTL(SIOCSIWAP) COMPATIBLE_IOCTL(SIOCSIWAP)
COMPATIBLE_IOCTL(SIOCGIWAP) COMPATIBLE_IOCTL(SIOCGIWAP)
COMPATIBLE_IOCTL(SIOCSIWSCAN)
COMPATIBLE_IOCTL(SIOCSIWRATE) COMPATIBLE_IOCTL(SIOCSIWRATE)
COMPATIBLE_IOCTL(SIOCGIWRATE) COMPATIBLE_IOCTL(SIOCGIWRATE)
COMPATIBLE_IOCTL(SIOCSIWRTS) COMPATIBLE_IOCTL(SIOCSIWRTS)
......
...@@ -74,8 +74,8 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev, ...@@ -74,8 +74,8 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev,
struct ieee80211softmac_auth_queue_item *authptr; struct ieee80211softmac_auth_queue_item *authptr;
int length = 0; int length = 0;
check_assoc_again:
mutex_lock(&sm->associnfo.mutex); mutex_lock(&sm->associnfo.mutex);
/* Check if we're already associating to this or another network /* Check if we're already associating to this or another network
* If it's another network, cancel and start over with our new network * If it's another network, cancel and start over with our new network
* If it's our network, ignore the change, we're already doing it! * If it's our network, ignore the change, we're already doing it!
...@@ -98,13 +98,18 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev, ...@@ -98,13 +98,18 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev,
cancel_delayed_work(&authptr->work); cancel_delayed_work(&authptr->work);
sm->associnfo.bssvalid = 0; sm->associnfo.bssvalid = 0;
sm->associnfo.bssfixed = 0; sm->associnfo.bssfixed = 0;
flush_scheduled_work();
sm->associnfo.associating = 0; sm->associnfo.associating = 0;
sm->associnfo.associated = 0; sm->associnfo.associated = 0;
/* We must unlock to avoid deadlocks with the assoc workqueue
* on the associnfo.mutex */
mutex_unlock(&sm->associnfo.mutex);
flush_scheduled_work();
/* Avoid race! Check assoc status again. Maybe someone started an
* association while we flushed. */
goto check_assoc_again;
} }
} }
sm->associnfo.static_essid = 0; sm->associnfo.static_essid = 0;
sm->associnfo.assoc_wait = 0; sm->associnfo.assoc_wait = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment