Re: w83l785ts: Couldn't read value from register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hallo Christian,

On Mon, 9 Apr 2007 20:21:57 +0100 (BST), Christian Kujau wrote:
> I've got this Asus A7N8X-X board and when using lm-sensors, these 
> messages occasionally show up in my kernel logs:
> 
> w83l785ts 1-002e: Couldn't read value from register 0x53. Please report.

Is it always this same register failing, or 0x27 too?

How frequently do the failures happen? Is there any pattern in the time
at which the failures happen?

> ...and reporting is what I do with this email :)
> Please see .config, dmidecode and more right here:
> http://nerdbynature.de/bits/w83l785ts/

Thanks for reporting. I didn't remember I had put this request in the
source code ;) Unfortunately this motherboard is famous for these read
errors. I still don't know what is causing them, BTW. Could be
concurrent access by ACPI or SMM, or maybe the W83L785TS-S chip is weak
and/or improperly wired on the board. I seem to remember that the board
has an Asus ASB100 hardware monitoring chip too, and that this one
doesn't have read failures? This suggests that the problem is really
with the W83L785TS-S itself and not the SMBus master.

Can you please add your /proc/ioports and /proc/acpi/dsdt files to the
location above? I'd like to take a look.

> I suppose the message is informational anyway, since sensors(1) is 
> working fine.

On read error, the driver will present the previous reading to
user-space. So it is expected that you don't notice anything.

> Perhaps we can silence the printk to only show up when 
> some debug-option is toggled?

No, informational messages are _already_ only printed when debugging is
enabled. The message you reported is printed when all the retries were
exhausted without success. The hope was that it wouldn't happen, and in
fact we didn't have any report for a couple years now.

There probably isn't much we can do, except increasing the delay or the
retry count, and hope it'll be sufficient. Can you please try the
following patch and see if it helps?


Wait longer between read retries.

Signed-off-by: Jean Delvare <[email protected]>
---
 drivers/hwmon/w83l785ts.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

--- linux-2.6.21-rc6.orig/drivers/hwmon/w83l785ts.c	2007-02-10 13:41:27.000000000 +0100
+++ linux-2.6.21-rc6/drivers/hwmon/w83l785ts.c	2007-04-10 14:16:50.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * w83l785ts.c - Part of lm_sensors, Linux kernel modules for hardware
  *               monitoring
- * Copyright (C) 2003-2004  Jean Delvare <[email protected]>
+ * Copyright (C) 2003-2007  Jean Delvare <[email protected]>
  *
  * Inspired from the lm83 driver. The W83L785TS-S is a sensor chip made
  * by Winbond. It reports a single external temperature with a 1 deg
@@ -298,12 +298,13 @@ static u8 w83l785ts_read_value(struct i2
 				"0x%02x.\n", value, reg);
 			return value;
 		}
-		dev_dbg(&client->dev, "Read failed, will retry in %d.\n", i);
-		msleep(i);
+		dev_dbg(&client->dev, "Read failed, will retry in %d ms\n",
+			i*4);
+		msleep(i*4);
 	}
 
-	dev_err(&client->dev, "Couldn't read value from register 0x%02x. "
-		"Please report.\n", reg);
+	dev_err(&client->dev, "Couldn't read value from register 0x%02x\n",
+		reg);
 	return defval;
 }
 

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux