summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wlcore/init.c
diff options
context:
space:
mode:
authorYoni Divinsky <yoni.divinsky@ti.com>2012-06-27 13:01:44 +0300
committerJohn W. Linville <linville@tuxdriver.com>2012-07-10 12:10:13 -0400
commit3df74f46d88e39a032eb2cc3f2a571b66082acba (patch)
treed560ff361fe7b009ebfdcc24d34cbe3378869ac2 /drivers/net/wireless/ti/wlcore/init.c
parentb034fd6f4fa272569324bb3f29af5ca7cf1e23c3 (diff)
downloadlinux-3df74f46d88e39a032eb2cc3f2a571b66082acba.tar.bz2
wlcore: add probe request templates for sched and one-shot scans
The driver configures the firmware template for probe requests during the scan process. If the same template is used for one-shot and sched scans they will override each other when running scans simultaneously. This fix works only on firmwares later than X.3.9.2.112 for single role and X.3.9.2.23 for multi-role. [Some cleaning-up and renaming of the quirk to something smaller -- Luca.] Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti/wlcore/init.c')
-rw-r--r--drivers/net/wireless/ti/wlcore/init.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wlcore/init.c b/drivers/net/wireless/ti/wlcore/init.c
index 8a8a8971befa..a3c867786df8 100644
--- a/drivers/net/wireless/ti/wlcore/init.c
+++ b/drivers/net/wireless/ti/wlcore/init.c
@@ -54,6 +54,22 @@ int wl1271_init_templates_config(struct wl1271 *wl)
if (ret < 0)
return ret;
+ if (wl->quirks & WLCORE_QUIRK_DUAL_PROBE_TMPL) {
+ ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
+ CMD_TEMPL_APP_PROBE_REQ_2_4, NULL,
+ WL1271_CMD_TEMPL_MAX_SIZE,
+ 0, WL1271_RATE_AUTOMATIC);
+ if (ret < 0)
+ return ret;
+
+ ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
+ CMD_TEMPL_APP_PROBE_REQ_5, NULL,
+ WL1271_CMD_TEMPL_MAX_SIZE,
+ 0, WL1271_RATE_AUTOMATIC);
+ if (ret < 0)
+ return ret;
+ }
+
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
CMD_TEMPL_NULL_DATA, NULL,
sizeof(struct wl12xx_null_data_template),