1 diff --git a/drivers/net/wireless/wl12xx/wl1251.h b/drivers/net/wireless/wl12xx/wl1251.h
2 index 4f5f02a..d8087ac 100644
3 --- a/drivers/net/wireless/wl12xx/wl1251.h
4 +++ b/drivers/net/wireless/wl12xx/wl1251.h
5 @@ -381,6 +381,8 @@ struct wl1251 {
13 int wl1251_plt_start(struct wl1251 *wl);
14 diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c
15 index 7a8e489..0e1ae21 100644
16 --- a/drivers/net/wireless/wl12xx/wl1251_main.c
17 +++ b/drivers/net/wireless/wl12xx/wl1251_main.c
18 @@ -869,6 +869,13 @@ static int wl1251_op_hw_scan(struct ieee80211_hw *hw,
20 wl1251_debug(DEBUG_MAC80211, "mac80211 hw scan");
23 + * FIXME: scanning while associated causes lockups,
24 + * so we don't allow that
30 ssid = req->ssids[0].ssid;
31 ssid_len = req->ssids[0].ssid_len;
32 @@ -987,6 +994,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
35 if (changed & BSS_CHANGED_ASSOC) {
36 + wl->associated = bss_conf->assoc;
37 if (bss_conf->assoc) {
38 wl->beacon_int = bss_conf->beacon_int;