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 f5433c74b845d54e6ac2869eb9664feb64bcd6bc..f9db25bb35c338f0b7f503e192293e78937d60f6 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) {