rt2x00: Fix regression for rt2500pci
Since commit:
commit f1aa4c541e
Author: Ivo van Doorn <ivdoorn@gmail.com>
Date: Tue Jun 29 21:38:55 2010 +0200
rt2x00: Write the BSSID to register when interface is added
mananged mode in rt2500pci was broken, due to intf->bssid containing
random data rather then the expected 00:00:00:00:00:00
This is corrected by sending the BSSID to rt2x00lib_config_intf
only in AP mode where the bssid is set to a valid value.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d97349797f
commit
06b3cda0c1
|
@ -273,17 +273,24 @@ int rt2x00mac_add_interface(struct ieee80211_hw *hw,
|
||||||
mutex_init(&intf->beacon_skb_mutex);
|
mutex_init(&intf->beacon_skb_mutex);
|
||||||
intf->beacon = entry;
|
intf->beacon = entry;
|
||||||
|
|
||||||
if (vif->type == NL80211_IFTYPE_AP)
|
|
||||||
memcpy(&intf->bssid, vif->addr, ETH_ALEN);
|
|
||||||
memcpy(&intf->mac, vif->addr, ETH_ALEN);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The MAC adddress must be configured after the device
|
* The MAC adddress must be configured after the device
|
||||||
* has been initialized. Otherwise the device can reset
|
* has been initialized. Otherwise the device can reset
|
||||||
* the MAC registers.
|
* the MAC registers.
|
||||||
|
* The BSSID address must only be configured in AP mode,
|
||||||
|
* however we should not send an empty BSSID address for
|
||||||
|
* STA interfaces at this time, since this can cause
|
||||||
|
* invalid behavior in the device.
|
||||||
*/
|
*/
|
||||||
rt2x00lib_config_intf(rt2x00dev, intf, vif->type,
|
memcpy(&intf->mac, vif->addr, ETH_ALEN);
|
||||||
intf->mac, intf->bssid);
|
if (vif->type == NL80211_IFTYPE_AP) {
|
||||||
|
memcpy(&intf->bssid, vif->addr, ETH_ALEN);
|
||||||
|
rt2x00lib_config_intf(rt2x00dev, intf, vif->type,
|
||||||
|
intf->mac, intf->bssid);
|
||||||
|
} else {
|
||||||
|
rt2x00lib_config_intf(rt2x00dev, intf, vif->type,
|
||||||
|
intf->mac, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some filters depend on the current working mode. We can force
|
* Some filters depend on the current working mode. We can force
|
||||||
|
|
Loading…
Reference in a new issue