rt2x00: Fix regression for rt2500pci
PATCH 1/1 rt2x00: Fix regression for rt2500pci
Since commit:
commit f1aa4c541e98afa8b770a75ccaa8504d0bff44a7
Author: Ivo van Doorn <[email protected]>
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 <[email protected]>
Acked-by Helmut Schaa <[email protected]>
--- drivers/net/wireless/rt2x00/rt2x00mac.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-)
drivers/net/wireless/rt2x00/rt2x00mac.c +13 -6
@@ -273,17 +273,24 @@ int rt2x00mac_add_interface(struct ieee80211_hw *hw,mutex_init (&intf->beacon_skb_mutex); 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 * has been initialized. Otherwise the device can reset * 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, - intf->mac, intf->bssid); +memcpy (&intf->mac, vif->addr,ETH_ALEN ); +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
Signature · 1 line
1.7.1.1