I2C: S3C2410: Fixup error codes returned rom a transfer.
Ben Dooks [Tue, 1 Jul 2008 10:59:42 +0000 (11:59 +0100)]
The driver should be returning -ENXIO for transfers that do not
pass the initial address byte stage.

Note, also small tidyups to the driver comments in the area.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>

drivers/i2c/busses/i2c-s3c2410.c

index 7ad22c5..d2645da 100644 (file)
@@ -290,12 +290,12 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat)
                 * bus, or started a new i2c message
                 */
                
-               if (iicstat  & S3C2410_IICSTAT_LASTBIT &&
+               if (iicstat & S3C2410_IICSTAT_LASTBIT &&
                    !(i2c->msg->flags & I2C_M_IGNORE_NAK)) {
                        /* ack was not received... */
 
                        dev_dbg(i2c->dev, "ack was not received\n");
-                       s3c24xx_i2c_stop(i2c, -EREMOTEIO);
+                       s3c24xx_i2c_stop(i2c, -ENXIO);
                        goto out_ack;
                }
 
@@ -305,7 +305,7 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat)
                        i2c->state = STATE_WRITE;
 
                /* terminate the transfer if there is nothing to do
-                * (used by the i2c probe to find devices */
+                * as this is used by the i2c probe to find devices. */
 
                if (is_lastmsg(i2c) && i2c->msg->len == 0) {
                        s3c24xx_i2c_stop(i2c, 0);