summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ti/wl12xx/scan.c
diff options
context:
space:
mode:
authora1205z <a1205z@motorola.com>2013-12-06 15:01:07 -0600
committerJames Wylder <jwylder@motorola.com>2014-03-05 17:46:55 -0600
commit58262e28fc9897833ab4a0dff122dff9bdbe8a33 (patch)
tree38b58df036278d5382787cccd590a2c36c206a62 /drivers/net/wireless/ti/wl12xx/scan.c
parent67b53586a795503f5885e673ab59de8c2ad93922 (diff)
downloadolio-linux-3.10-58262e28fc9897833ab4a0dff122dff9bdbe8a33.tar.xz
olio-linux-3.10-58262e28fc9897833ab4a0dff122dff9bdbe8a33.zip
IKG5-1471: Change the WLAN driver from dynamic module to static module
Change the WLAN driver from dynamic module to static module, move it from hardware/ti/wlan to kernel drivers. This driver is pulled from https://github.com/TI-OpenLink/wl18xx by the latest commit as the following. commit 01d7a03557723e7028b36a39c3de3c33ebf02c53 Author: Arik Nemtsov <arik@wizery.com> Date: Mon Oct 7 10:37:43 2013 +0300 wlcore: decrease warning verbosity during recovery Silently ignore repetitive scheduling of recovery work and commands being passed to the bus when the HW is not available. This can happen many times during recovery and slow it down. It also spams the kernel logs. Change-Id: I5d8bdc05b23632a8de3e106cd54a39f70a6bcbac Signed-off-by: a1205z <a1205z@motorola.com> Reviewed-on: http://gerrit.pcs.mot.com/588639 SLTApproved: Slta Waiver <sltawvr@motorola.com> Tested-by: Jira Key <jirakey@motorola.com> Reviewed-by: Amit Jain <ajain@motorola.com> Submit-Approved: Jira Key <jirakey@motorola.com>
Diffstat (limited to 'drivers/net/wireless/ti/wl12xx/scan.c')
-rw-r--r--drivers/net/wireless/ti/wl12xx/scan.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/net/wireless/ti/wl12xx/scan.c b/drivers/net/wireless/ti/wl12xx/scan.c
index 4a0bbb13806..302f0de3f58 100644
--- a/drivers/net/wireless/ti/wl12xx/scan.c
+++ b/drivers/net/wireless/ti/wl12xx/scan.c
@@ -118,7 +118,11 @@ static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
if (passive)
scan_options |= WL1271_SCAN_OPT_PASSIVE;
- cmd->params.role_id = wlvif->role_id;
+ /* scan on the dev role if the regular one is not started */
+ if (wlvif->role_id == WL12XX_INVALID_ROLE_ID)
+ cmd->params.role_id = wlvif->dev_role_id;
+ else
+ cmd->params.role_id = wlvif->role_id;
if (WARN_ON(cmd->params.role_id == WL12XX_INVALID_ROLE_ID)) {
ret = -EINVAL;
@@ -136,7 +140,6 @@ static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
}
cmd->params.tx_rate = cpu_to_le32(basic_rate);
- cmd->params.n_probe_reqs = wl->conf.scan.num_probe_reqs;
cmd->params.tid_trigger = CONF_TX_AC_ANY_TID;
cmd->params.scan_tag = WL1271_SCAN_DEFAULT_TAG;
@@ -145,6 +148,11 @@ static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
else
cmd->params.band = WL1271_SCAN_BAND_5_GHZ;
+ if (wl->scan.req->num_probe)
+ cmd->params.n_probe_reqs = wl->scan.req->num_probe;
+ else
+ cmd->params.n_probe_reqs = wl->conf.scan.num_probe_reqs;
+
if (wl->scan.ssid_len && wl->scan.ssid) {
cmd->params.ssid_len = wl->scan.ssid_len;
memcpy(cmd->params.ssid, wl->scan.ssid, wl->scan.ssid_len);
@@ -344,9 +352,9 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
cfg->tag = WL1271_SCAN_DEFAULT_TAG;
/* don't filter on BSS type */
cfg->bss_type = SCAN_BSS_TYPE_ANY;
- /* currently NL80211 supports only a single interval */
+ /* TODO: use short intervals as well */
for (i = 0; i < SCAN_MAX_CYCLE_INTERVALS; i++)
- cfg->intervals[i] = cpu_to_le32(req->interval);
+ cfg->intervals[i] = cpu_to_le32(req->long_interval);
cfg->ssid_len = 0;
ret = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req);