2009-04-23 08:45:37

by Johannes Berg

[permalink] [raw]
Subject: [PATCH] iwlwifi: notify on scan completion even when shutting down

Under certain circumstances iwlwifi can get stuck and will no
longer accept scan requests, because the core code (cfg80211)
thinks that it's still processing one. This fixes one of the
points where it can happen, but I've still seen it (although
only with my radio-off-when-idle patch).

Signed-off-by: Johannes Berg <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl-scan.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-scan.c 2009-04-21 23:36:10.000000000 +0200
+++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-scan.c 2009-04-23 10:43:08.000000000 +0200
@@ -814,12 +814,12 @@ void iwl_bg_scan_completed(struct work_s

IWL_DEBUG_SCAN(priv, "SCAN complete scan\n");

- if (test_bit(STATUS_EXIT_PENDING, &priv->status))
- return;
-
priv->scan_request = NULL;
ieee80211_scan_completed(priv->hw, false);

+ if (test_bit(STATUS_EXIT_PENDING, &priv->status))
+ return;
+
/* Since setting the TXPOWER may have been deferred while
* performing the scan, fire one off */
mutex_lock(&priv->mutex);




2009-04-23 17:17:27

by Reinette Chatre

[permalink] [raw]
Subject: Re: [PATCH] iwlwifi: notify on scan completion even when shutting down

On Thu, 2009-04-23 at 01:45 -0700, Johannes Berg wrote:
> Under certain circumstances iwlwifi can get stuck and will no
> longer accept scan requests, because the core code (cfg80211)
> thinks that it's still processing one. This fixes one of the
> points where it can happen, but I've still seen it (although
> only with my radio-off-when-idle patch).
>
> Signed-off-by: Johannes Berg <[email protected]>
> ---
> drivers/net/wireless/iwlwifi/iwl-scan.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> --- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-scan.c 2009-04-21 23:36:10.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-scan.c 2009-04-23 10:43:08.000000000 +0200
> @@ -814,12 +814,12 @@ void iwl_bg_scan_completed(struct work_s
>
> IWL_DEBUG_SCAN(priv, "SCAN complete scan\n");
>
> - if (test_bit(STATUS_EXIT_PENDING, &priv->status))
> - return;
> -
> priv->scan_request = NULL;
> ieee80211_scan_completed(priv->hw, false);
>
> + if (test_bit(STATUS_EXIT_PENDING, &priv->status))
> + return;
> +
> /* Since setting the TXPOWER may have been deferred while
> * performing the scan, fire one off */
> mutex_lock(&priv->mutex);
>
>

Acked-by: Reinette Chatre <[email protected]>

Thank you

Reinette