ath6kl: don't force foreground scan when connected
authorKalle Valo <kvalo@qca.qualcomm.com>
Thu, 21 Jul 2011 06:40:00 +0000 (09:40 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 9 Aug 2011 16:45:22 +0000 (19:45 +0300)
In my setup data transfer stalls when there's data transmission during
scan. After some testing I found out that using background scan
when connected to makes the problem go away. This is more like
a workaround than a proper fix, but as the stall is so severe the
workaround is justified.

With a dual band card this increases scan time when connected from
1.9s to 4.4s. When not connected the scan time is not affected and
is the same 1.9s.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/cfg80211.c

index a70d2ac..b9090b8 100644 (file)
@@ -779,7 +779,6 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
 {
        struct ath6kl *ar = (struct ath6kl *)ath6kl_priv(ndev);
        int ret = 0;
-       u32 force_fg_scan = 0;
 
        if (!ath6kl_cfg80211_ready(ar))
                return -EIO;
@@ -807,10 +806,7 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
                                                  request->ssids[i].ssid);
        }
 
-       if (test_bit(CONNECTED, &ar->flag))
-               force_fg_scan = 1;
-
-       if (ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, force_fg_scan,
+       if (ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, 0,
                                     false, 0, 0, 0, NULL) != 0) {
                ath6kl_err("wmi_startscan_cmd failed\n");
                ret = -EIO;