X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fi2c%2Fbusses%2Fi2c-powermac.c;fp=drivers%2Fi2c%2Fbusses%2Fi2c-powermac.c;h=df786eb55295a41dc19ccfdc8eb371f0e890b63c;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=53bb4359386399149ca6d130aad56459846749ed;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c index 53bb43593..df786eb55 100644 --- a/drivers/i2c/busses/i2c-powermac.c +++ b/drivers/i2c/busses/i2c-powermac.c @@ -20,6 +20,7 @@ */ +#include #include #include #include @@ -148,6 +149,8 @@ static int i2c_powermac_master_xfer( struct i2c_adapter *adap, int read; int addrdir; + if (num != 1) + return -EINVAL; if (msgs->flags & I2C_M_TEN) return -EINVAL; read = (msgs->flags & I2C_M_RD) != 0; @@ -164,7 +167,7 @@ static int i2c_powermac_master_xfer( struct i2c_adapter *adap, rc = pmac_i2c_xfer(bus, addrdir, 0, 0, msgs->buf, msgs->len); bail: pmac_i2c_close(bus); - return rc < 0 ? rc : 1; + return rc < 0 ? rc : msgs->len; } static u32 i2c_powermac_func(struct i2c_adapter * adapter)