diff -r 1760a612cc98 linux/drivers/media/dvb/frontends/s5h1420.c --- a/linux/drivers/media/dvb/frontends/s5h1420.c Sun Aug 03 05:02:35 2008 +0200 +++ b/linux/drivers/media/dvb/frontends/s5h1420.c Sat Aug 23 17:07:01 2008 +0200 @@ -94,8 +94,11 @@ static u8 s5h1420_readreg(struct s5h1420 if (ret != 3) return ret; } else { - ret = i2c_transfer(state->i2c, &msg[1], 2); - if (ret != 2) + ret = i2c_transfer(state->i2c, &msg[1], 1); + if (ret != 1) + return ret; + ret = i2c_transfer(state->i2c, &msg[2], 1); + if (ret != 1) return ret; }