summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271_main.c
diff options
context:
space:
mode:
authorJuuso Oikarinen2010-09-21 08:14:31 +0200
committerLuciano Coelho2010-09-28 11:30:06 +0200
commitbea39d6a60b62f16e904be5a520bf55714d73021 (patch)
treeaef66ffd0c553eea8de20ec46e819b661d38ab2b /drivers/net/wireless/wl12xx/wl1271_main.c
parentwl1271: Add handling for failing hardware scan command (diff)
downloadkernel-qcow2-linux-bea39d6a60b62f16e904be5a520bf55714d73021.tar.gz
kernel-qcow2-linux-bea39d6a60b62f16e904be5a520bf55714d73021.tar.xz
kernel-qcow2-linux-bea39d6a60b62f16e904be5a520bf55714d73021.zip
wl1271: Optimize scan duration
Currently then dwell times for each channel in scans is set to an overly long value, and excessive number of probe-requests are transmitted on each channel (for active scans.) Based on testing, comparable results can be received with smaller dwell-time, and, with fever probe-requests - in fact, reducing the number of probe-requests to 2 seems to increase the number of found results. Configure more optimal values for per channel dwell times. Comparison for the different scan configurations (in my current office environment): dwell-time 60000 3x probe-req == ~60 results 40000 3x probe-req == ~50 results 30000 3x probe-req == ~40 results dwell-time 60000 2x probe-req == ~70 results 40000 2x probe-req == ~60 results 30000 2x probe-req == ~58 results The above are results for a cumulative 3 scan run. For individual scans, the number of results drop slightly more. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_main.c')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c
index c13175892960..b2f2d457f28c 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -232,7 +232,14 @@ static struct conf_drv_settings default_conf = {
.avg_weight_rssi_data = 10,
.avg_weight_snr_beacon = 20,
.avg_weight_snr_data = 10
- }
+ },
+ .scan = {
+ .min_dwell_time_active = 7500,
+ .max_dwell_time_active = 30000,
+ .min_dwell_time_passive = 30000,
+ .max_dwell_time_passive = 60000,
+ .num_probe_reqs = 2,
+ },
};
static void __wl1271_op_remove_interface(struct wl1271 *wl);