]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.28 patch
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Mar 2009 22:13:57 +0000 (15:13 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Mar 2009 22:13:57 +0000 (15:13 -0700)
queue-2.6.28/hwmon-properly-decode-128-degrees-c-temperature.patch [new file with mode: 0644]
queue-2.6.28/series

diff --git a/queue-2.6.28/hwmon-properly-decode-128-degrees-c-temperature.patch b/queue-2.6.28/hwmon-properly-decode-128-degrees-c-temperature.patch
new file mode 100644 (file)
index 0000000..8462991
--- /dev/null
@@ -0,0 +1,45 @@
+From khali@linux-fr.org  Fri Mar 13 15:11:51 2009
+From: Jean Delvare <khali@linux-fr.org>
+Date: Fri, 13 Mar 2009 13:34:04 +0100
+Subject: hwmon: (it87) Properly decode -128 degrees C temperature
+To: stable@kernel.org
+Message-ID: <20090313133404.79642fc4@hyperion.delvare>
+
+commit e267d25005c861fe6afda343f044536342c9f8b4 upstream
+
+The it87 driver is reporting -128 degrees C as +128 degrees C.
+That's not a terribly likely temperature value but let's still
+get it right, especially when it simplifies the code.
+
+Signed-off-by: Jean Delvare <khali@linux-fr.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/hwmon/it87.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/hwmon/it87.c
++++ b/drivers/hwmon/it87.c
+@@ -207,7 +207,7 @@ static inline u16 FAN16_TO_REG(long rpm)
+ #define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\
+                                       ((val)+500)/1000),-128,127))
+-#define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*1000)
++#define TEMP_FROM_REG(val) ((val) * 1000)
+ #define PWM_TO_REG(val)   ((val) >> 1)
+ #define PWM_FROM_REG(val) (((val)&0x7f) << 1)
+@@ -261,9 +261,9 @@ struct it87_data {
+       u8 has_fan;             /* Bitfield, fans enabled */
+       u16 fan[5];             /* Register values, possibly combined */
+       u16 fan_min[5];         /* Register values, possibly combined */
+-      u8 temp[3];             /* Register value */
+-      u8 temp_high[3];        /* Register value */
+-      u8 temp_low[3];         /* Register value */
++      s8 temp[3];             /* Register value */
++      s8 temp_high[3];        /* Register value */
++      s8 temp_low[3];         /* Register value */
+       u8 sensor;              /* Register value */
+       u8 fan_div[3];          /* Register encoding, shifted right */
+       u8 vid;                 /* Register encoding, combined */
index 837dc446536714d3c7cdfd52ef21a96de27a6785..094d1d215c6687e9aa1b814c056135b2cd896498 100644 (file)
@@ -110,3 +110,4 @@ crypto-api-fix-algorithm-test-race-that-broke-aead-initialisation.patch
 hwmon-hide-misleading-error-message.patch
 drm-i915-add-missing-userland-definitions-for-gem-init-execbuffer.patch
 mips-compat-implement-is_compat_task.patch
+hwmon-properly-decode-128-degrees-c-temperature.patch