2.6.23-stable review patch.  If anyone has any objections, please let us know.

------------------
From: Jean Delvare <[EMAIL PROTECTED]>

patch be8a1f7cd4501c3b4b32543577a33aee6d2193ac in mainline.

Turns out we don't actually check the status to see if there was a
device out there to talk to, just if we had a timeout when doing so.

Add the proper check, so we don't falsly think there are devices
on the bus that are not there, etc.

Signed-off-by: Olof Johansson <[EMAIL PROTECTED]>
Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

---
 drivers/i2c/busses/i2c-pasemi.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/i2c/busses/i2c-pasemi.c
+++ b/drivers/i2c/busses/i2c-pasemi.c
@@ -51,6 +51,7 @@ struct pasemi_smbus {
 #define MRXFIFO_DATA_M 0x000000ff
 
 #define SMSTA_XEN      0x08000000
+#define SMSTA_MTN      0x00200000
 
 #define CTL_MRR                0x00000400
 #define CTL_MTR                0x00000200
@@ -98,6 +99,10 @@ static unsigned int pasemi_smb_waitready
                status = reg_read(smbus, REG_SMSTA);
        }
 
+       /* Got NACK? */
+       if (status & SMSTA_MTN)
+               return -ENXIO;
+
        if (timeout < 0) {
                dev_warn(&smbus->dev->dev, "Timeout, status 0x%08x\n", status);
                reg_write(smbus, REG_SMSTA, status);

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

Reply via email to