Re: [PATCH] i2c driver fixes for 2.6.4

From: Greg KH
Date: Mon Mar 15 2004 - 19:17:58 EST


ChangeSet 1.1557.61.11, 2004/02/23 16:28:43-08:00, khali@xxxxxxxxxxxx

[PATCH] I2C: fix Hangs with w83781d

Here is a patch for the w83781d driver that prevents register bits from
being arbitrary changed when we force temp2/3 to comparator mode. Keith
Duthie had been reporting various problems with that driver and finally
found that this arbitrary change was the cause of them. He also tested
this patch, which he confirmed to work.


drivers/i2c/chips/w83781d.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletion(-)


diff -Nru a/drivers/i2c/chips/w83781d.c b/drivers/i2c/chips/w83781d.c
--- a/drivers/i2c/chips/w83781d.c Mon Mar 15 14:37:03 2004
+++ b/drivers/i2c/chips/w83781d.c Mon Mar 15 14:37:03 2004
@@ -1632,7 +1632,11 @@
if (type != w83781d) {
/* enable comparator mode for temp2 and temp3 so
alarm indication will work correctly */
- w83781d_write_value(client, W83781D_REG_IRQ, 0x41);
+ i = w83781d_read_value(client, W83781D_REG_IRQ);
+ if (!(i & 0x40))
+ w83781d_write_value(client, W83781D_REG_IRQ,
+ i | 0x40);
+
for (i = 0; i < 3; i++)
data->pwmenable[i] = 1;
}

-
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/