[PATCH] w1: fix idle check loop in ds2482
authorBen Gardner <gardner.ben@gmail.com>
Thu, 29 Jun 2006 18:33:22 +0000 (22:33 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 12 Jul 2006 22:38:27 +0000 (15:38 -0700)
The idle check loop has a greater-than where it should have a less-than.
This causes the ds2482 driver to check for the idle condition exactly
once, which causes it to fail on faster machines.

Signed-off-by: Ben Gardner <gardner.ben@gmail.com>
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/w1/masters/ds2482.c

index af492cc..d93eb62 100644 (file)
@@ -218,7 +218,7 @@ static int ds2482_wait_1wire_idle(struct ds2482_data *pdev)
                do {
                        temp = i2c_smbus_read_byte(&pdev->client);
                } while ((temp >= 0) && (temp & DS2482_REG_STS_1WB) &&
-                        (++retries > DS2482_WAIT_IDLE_TIMEOUT));
+                        (++retries < DS2482_WAIT_IDLE_TIMEOUT));
        }
 
        if (retries > DS2482_WAIT_IDLE_TIMEOUT)