Re: [IWL4965] TX Power requested while scanning!

From: Paul Bolle
Date: Wed Apr 27 2011 - 06:18:22 EST


On Tue, 2011-04-26 at 08:32 +0200, Stanislaw Gruszka wrote:
> Warning correctly indicate a bug. Please try below patch.
>
> diff --git a/drivers/net/wireless/iwlegacy/iwl4965-base.c b/drivers/net/wireless/iwlegacy/iwl4965-base.c
> index 58a2e63..46966e9 100644
> --- a/drivers/net/wireless/iwlegacy/iwl4965-base.c
> +++ b/drivers/net/wireless/iwlegacy/iwl4965-base.c
> @@ -2988,15 +2988,15 @@ static void iwl4965_bg_txpower_work(struct work_struct *work)
> struct iwl_priv *priv = container_of(work, struct iwl_priv,
> txpower_work);
>
> + mutex_lock(&priv->mutex);
> +
> /* If a scan happened to start before we got here
> * then just return; the statistics notification will
> * kick off another scheduled work to compensate for
> * any temperature delta we missed here. */
> if (test_bit(STATUS_EXIT_PENDING, &priv->status) ||
> test_bit(STATUS_SCANNING, &priv->status))
> - return;
> -
> - mutex_lock(&priv->mutex);
> + goto out;
>
> /* Regardless of if we are associated, we must reconfigure the
> * TX power since frames can be sent on non-radar channels while
> @@ -3006,7 +3006,7 @@ static void iwl4965_bg_txpower_work(struct work_struct *work)
> /* Update last_temperature to keep is_calib_needed from running
> * when it isn't needed... */
> priv->last_temperature = priv->temperature;
> -
> +out:
> mutex_unlock(&priv->mutex);
> }
>

0) This (compiles and) runs without apparent problems. I haven't seen
this WARNING with this patch applied. But please note that I actually
haven't seen that WARNING with (unpatched) rc4 since reporting it (last
Friday).

1) So feel free to add a "Reported-by:" tag and, perhaps, a "Tested-by:"
tag too.


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/