From f5e2bdf228c624fdd9c61b1ff98d50bdb54d040d Mon Sep 17 00:00:00 2001 From: Eliad Peller Date: Thu, 2 Feb 2012 13:15:35 +0200 Subject: [PATCH] --- yaml --- r: 290595 b: refs/heads/master c: 79aba1baf251e22fbc97a42c711c4b683807ac43 h: refs/heads/master i: 290593: 1dcefd588d95b73f0c3a93b19deec0d10cbd3ec4 290591: 9d8b7c9c726f9acab60cb81c72564bf583dba93d v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/wl12xx/main.c | 7 ++----- trunk/drivers/net/wireless/wl12xx/scan.c | 13 ------------- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/[refs] b/[refs] index 64878b8a4b28..7fe80005e07d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 76a74c8a65c6d2587e48355d3a122b4274f5abbf +refs/heads/master: 79aba1baf251e22fbc97a42c711c4b683807ac43 diff --git a/trunk/drivers/net/wireless/wl12xx/main.c b/trunk/drivers/net/wireless/wl12xx/main.c index b45a16c1f717..17dcd63bfc48 100644 --- a/trunk/drivers/net/wireless/wl12xx/main.c +++ b/trunk/drivers/net/wireless/wl12xx/main.c @@ -3068,10 +3068,6 @@ static int wl1271_op_hw_scan(struct ieee80211_hw *hw, goto out_sleep; } - /* cancel ROC before scanning */ - if (wl12xx_dev_role_started(wlvif)) - wl12xx_croc(wl, wlvif->dev_role_id); - ret = wl1271_scan(hw->priv, vif, ssid, len, req); out_sleep: wl1271_ps_elp_sleep(wl); @@ -5050,7 +5046,8 @@ static int wl1271_init_ieee80211(struct wl1271 *wl) IEEE80211_HW_SPECTRUM_MGMT | IEEE80211_HW_AP_LINK_PS | IEEE80211_HW_AMPDU_AGGREGATION | - IEEE80211_HW_TX_AMPDU_SETUP_IN_HW; + IEEE80211_HW_TX_AMPDU_SETUP_IN_HW | + IEEE80211_HW_SCAN_WHILE_IDLE; wl->hw->wiphy->cipher_suites = cipher_suites; wl->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); diff --git a/trunk/drivers/net/wireless/wl12xx/scan.c b/trunk/drivers/net/wireless/wl12xx/scan.c index 6adc7333b7e6..848a165fa55c 100644 --- a/trunk/drivers/net/wireless/wl12xx/scan.c +++ b/trunk/drivers/net/wireless/wl12xx/scan.c @@ -38,7 +38,6 @@ void wl1271_scan_complete_work(struct work_struct *work) struct ieee80211_vif *vif; struct wl12xx_vif *wlvif; int ret; - bool is_sta, is_ibss; dwork = container_of(work, struct delayed_work, work); wl = container_of(dwork, struct wl1271, scan_complete_work); @@ -70,18 +69,6 @@ void wl1271_scan_complete_work(struct work_struct *work) wl1271_cmd_build_ap_probe_req(wl, wlvif, wlvif->probereq); } - /* return to ROC if needed */ - is_sta = (wlvif->bss_type == BSS_TYPE_STA_BSS); - is_ibss = (wlvif->bss_type == BSS_TYPE_IBSS); - if (((is_sta && !test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) || - (is_ibss && !test_bit(WLVIF_FLAG_IBSS_JOINED, &wlvif->flags))) && - !test_bit(wlvif->dev_role_id, wl->roc_map)) { - /* restore remain on channel */ - if (wlvif->dev_hlid == WL12XX_INVALID_LINK_ID) - wl12xx_start_dev(wl, wlvif); - else - wl12xx_roc(wl, wlvif, wlvif->dev_role_id); - } wl1271_ps_elp_sleep(wl); if (wl->scan.failed) {