Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06b3cda0 authored by Ivo van Doorn's avatar Ivo van Doorn Committed by John W. Linville
Browse files

rt2x00: Fix regression for rt2500pci



Since commit:
     commit f1aa4c54
     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: default avatarIvo van Doorn <IvDoorn@gmail.com>
Acked-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d9734979
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -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.
	 */
	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