|
@@ -3160,8 +3160,6 @@ static int b43legacy_wireless_core_init(struct b43legacy_wldev *dev)
|
|
|
b43legacy_shm_write16(dev, B43legacy_SHM_SHARED, 0x0414, 0x01F4);
|
|
|
|
|
|
ssb_bus_powerup(bus, 1); /* Enable dynamic PCTL */
|
|
|
- memset(wl->bssid, 0, ETH_ALEN);
|
|
|
- memset(wl->mac_addr, 0, ETH_ALEN);
|
|
|
b43legacy_upload_card_macaddress(dev);
|
|
|
b43legacy_security_init(dev);
|
|
|
b43legacy_rng_init(wl);
|
|
@@ -3263,6 +3261,13 @@ static int b43legacy_op_start(struct ieee80211_hw *hw)
|
|
|
* LEDs that are registered later depend on it. */
|
|
|
b43legacy_rfkill_init(dev);
|
|
|
|
|
|
+ /* Kill all old instance specific information to make sure
|
|
|
+ * the card won't use it in the short timeframe between start
|
|
|
+ * and mac80211 reconfiguring it. */
|
|
|
+ memset(wl->bssid, 0, ETH_ALEN);
|
|
|
+ memset(wl->mac_addr, 0, ETH_ALEN);
|
|
|
+ wl->filter_flags = 0;
|
|
|
+
|
|
|
mutex_lock(&wl->mutex);
|
|
|
|
|
|
if (b43legacy_status(dev) < B43legacy_STAT_INITIALIZED) {
|