|
@@ -639,6 +639,7 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
|
|
|
s8 n_channels = 0;
|
|
|
u16 *channels = NULL;
|
|
|
int ret = 0;
|
|
|
+ u32 force_fg_scan = 0;
|
|
|
|
|
|
if (!ath6kl_cfg80211_ready(ar))
|
|
|
return -EIO;
|
|
@@ -700,7 +701,10 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
|
|
|
channels[i] = request->channels[i]->center_freq;
|
|
|
}
|
|
|
|
|
|
- ret = ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, 0,
|
|
|
+ if (test_bit(CONNECTED, &ar->flag))
|
|
|
+ force_fg_scan = 1;
|
|
|
+
|
|
|
+ ret = ath6kl_wmi_startscan_cmd(ar->wmi, WMI_LONG_SCAN, force_fg_scan,
|
|
|
false, 0, 0, n_channels, channels);
|
|
|
if (ret)
|
|
|
ath6kl_err("wmi_startscan_cmd failed\n");
|