iwl4965: correctly validate temperature value
authorStanislaw Gruszka <sgruszka@redhat.com>
Wed, 1 Jun 2011 15:17:57 +0000 (17:17 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 1 Jun 2011 18:41:13 +0000 (14:41 -0400)
In some cases we can read wrong temperature value. If after that
temperature value will not be updated to good one, we badly configure
tx power parameters and device is unable to send a data.

Resolves:
https://bugzilla.kernel.org/show_bug.cgi?id=35932

Cc: stable@kernel.org # 2.6.39+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlegacy/iwl-4965.c

index f5433c7..f9db25b 100644 (file)
@@ -1543,7 +1543,7 @@ static void iwl4965_temperature_calib(struct iwl_priv *priv)
        s32 temp;
 
        temp = iwl4965_hw_get_temperature(priv);
-       if (temp < 0)
+       if (IWL_TX_POWER_TEMPERATURE_OUT_OF_RANGE(temp))
                return;
 
        if (priv->temperature != temp) {