diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-scan.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-scan.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index a6454726737e..7f2e3a1c80ef 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * | 2 | * |
3 | * GPL LICENSE SUMMARY | 3 | * GPL LICENSE SUMMARY |
4 | * | 4 | * |
5 | * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. | 5 | * Copyright(c) 2008 - 2012 Intel Corporation. All rights reserved. |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of version 2 of the GNU General Public License as | 8 | * it under the terms of version 2 of the GNU General Public License as |
@@ -414,10 +414,25 @@ static u16 iwl_limit_dwell(struct iwl_priv *priv, u16 dwell_time) | |||
414 | for_each_context(priv, ctx) { | 414 | for_each_context(priv, ctx) { |
415 | u16 value; | 415 | u16 value; |
416 | 416 | ||
417 | if (!iwl_is_associated_ctx(ctx)) | 417 | switch (ctx->staging.dev_type) { |
418 | continue; | 418 | case RXON_DEV_TYPE_P2P: |
419 | if (ctx->staging.dev_type == RXON_DEV_TYPE_P2P) | 419 | /* no timing constraints */ |
420 | continue; | 420 | continue; |
421 | case RXON_DEV_TYPE_ESS: | ||
422 | default: | ||
423 | /* timing constraints if associated */ | ||
424 | if (!iwl_is_associated_ctx(ctx)) | ||
425 | continue; | ||
426 | break; | ||
427 | case RXON_DEV_TYPE_CP: | ||
428 | case RXON_DEV_TYPE_2STA: | ||
429 | /* | ||
430 | * These seem to always have timers for TBTT | ||
431 | * active in uCode even when not associated yet. | ||
432 | */ | ||
433 | break; | ||
434 | } | ||
435 | |||
421 | value = ctx->beacon_int; | 436 | value = ctx->beacon_int; |
422 | if (!value) | 437 | if (!value) |
423 | value = IWL_PASSIVE_DWELL_BASE; | 438 | value = IWL_PASSIVE_DWELL_BASE; |