From: Haim Dreyfuss <[email protected]>

Fragmented scan should be applied for all channels, passive and active.
When scanning on passive channels the firmware uses frag_passive_dwell
to define the maximum continuous scan time before returning to the
operating channel. On active channels max_out_time is the parameter
used by the firmware to define the maximum time allowed out of the
operating channel. Since active channels' scan should also be fragmented
set max_out_time equal to frag_passive_dwell.
In addition:
- Set max_out_time and suspend_time if the firmware doesn't support
  fragmented scan to avoid unexpected behavior.
- Adjust max_out_time for second level of scan precedence.

Signed-off-by: Haim Dreyfuss <[email protected]>
Reviewed-by: Alexander Bondar <[email protected]>
Signed-off-by: Emmanuel Grumbach <[email protected]>
---
 drivers/net/wireless/iwlwifi/mvm/scan.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/mvm/scan.c 
b/drivers/net/wireless/iwlwifi/mvm/scan.c
index 199f6fc..0ee0f81 100644
--- a/drivers/net/wireless/iwlwifi/mvm/scan.c
+++ b/drivers/net/wireless/iwlwifi/mvm/scan.c
@@ -309,18 +309,18 @@ static void iwl_mvm_scan_calc_params(struct iwl_mvm *mvm,
                goto not_bound;
 
        params->suspend_time = 30;
-       params->max_out_time = 170;
+       params->max_out_time = 120;
 
        if (iwl_mvm_low_latency(mvm)) {
                if (mvm->fw->ucode_capa.api[0] &
                    IWL_UCODE_TLV_API_FRAGMENTED_SCAN) {
                        params->suspend_time = 105;
-                       params->max_out_time = 70;
                        /*
                         * If there is more than one active interface make
                         * passive scan more fragmented.
                         */
                        frag_passive_dwell = (global_cnt < 2) ? 40 : 20;
+                       params->max_out_time = frag_passive_dwell;
                } else {
                        params->suspend_time = 120;
                        params->max_out_time = 120;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to