ath6kl: don't force foreground scan when connected
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>
This commit is contained in:
@@ -779,7 +779,6 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
|
|||||||
{
|
{
|
||||||
struct ath6kl *ar = (struct ath6kl *)ath6kl_priv(ndev);
|
struct ath6kl *ar = (struct ath6kl *)ath6kl_priv(ndev);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
u32 force_fg_scan = 0;
|
|
||||||
|
|
||||||
if (!ath6kl_cfg80211_ready(ar))
|
if (!ath6kl_cfg80211_ready(ar))
|
||||||
return -EIO;
|
return -EIO;
|
||||||
@@ -807,10 +806,7 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
|
|||||||
request->ssids[i].ssid);
|
request->ssids[i].ssid);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (test_bit(CONNECTED, &ar->flag))
|
if (ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, 0,
|
||||||
force_fg_scan = 1;
|
|
||||||
|
|
||||||
if (ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, force_fg_scan,
|
|
||||||
false, 0, 0, 0, NULL) != 0) {
|
false, 0, 0, 0, NULL) != 0) {
|
||||||
ath6kl_err("wmi_startscan_cmd failed\n");
|
ath6kl_err("wmi_startscan_cmd failed\n");
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
|
Reference in New Issue
Block a user