rt2x00: Write the BSSID to register when interface is added
authorIvo van Doorn <ivdoorn@gmail.com>
Tue, 29 Jun 2010 19:38:55 +0000 (21:38 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 30 Jun 2010 19:00:49 +0000 (15:00 -0400)
For the Master mode case, we initialized the BSSID as the MAC
address, but never wrote it into the registers. This causes
Hardware crypto to break in Master mode when receiving frames
which require the BSSID to be filled in.

This is safe for STA mode since the BSSID will be initialized
to 00:00:00:00:00 at this point, but will be set to the correct
value later when the device associates.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00mac.c

index abbd857..2071cf3 100644 (file)
@@ -282,7 +282,8 @@ int rt2x00mac_add_interface(struct ieee80211_hw *hw,
         * has been initialized. Otherwise the device can reset
         * the MAC registers.
         */
-       rt2x00lib_config_intf(rt2x00dev, intf, vif->type, intf->mac, NULL);
+       rt2x00lib_config_intf(rt2x00dev, intf, vif->type,
+                             intf->mac, intf->bssid);
 
        /*
         * Some filters depend on the current working mode. We can force