wl12xx: check bss_conf->assoc on CHANGED_BSSID
authorEliad Peller <eliad@wizery.com>
Tue, 24 Jan 2012 16:18:42 +0000 (18:18 +0200)
committerLuciano Coelho <coelho@ti.com>
Wed, 15 Feb 2012 06:38:30 +0000 (08:38 +0200)
with the new auth/assoc redesign, we get CHANGED_BSSID
indication before CHANGED_ASSOC indication, while our
CHANGED_BSSID handling block assumes we are already
associated.

Fix it by checking we are either in ibss mode, or
already associated.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c

index ce0a233d2cd192764eb2322c56160b2697d9832a..bba2a52256b601e08724d3577b3a20e5e74b600e 100644 (file)
@@ -3665,7 +3665,8 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
                wlvif->rssi_thold = bss_conf->cqm_rssi_thold;
        }
 
-       if (changed & BSS_CHANGED_BSSID)
+       if (changed & BSS_CHANGED_BSSID &&
+           (is_ibss || bss_conf->assoc))
                if (!is_zero_ether_addr(bss_conf->bssid)) {
                        ret = wl12xx_cmd_build_null_data(wl, wlvif);
                        if (ret < 0)