aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/dw2102.c
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2011-02-27 16:22:57 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 20:32:40 -0300
commitb16af29a561c92ed76b5b882dd68bb082b07a09b (patch)
treeabbc2f5de09ed971307206661fc011df20e212fe /drivers/media/dvb/dvb-usb/dw2102.c
parenta84adf4007d80249cbe04da4ee80689a8cfdffda (diff)
downloadkernel_samsung_smdk4412-b16af29a561c92ed76b5b882dd68bb082b07a09b.zip
kernel_samsung_smdk4412-b16af29a561c92ed76b5b882dd68bb082b07a09b.tar.gz
kernel_samsung_smdk4412-b16af29a561c92ed76b5b882dd68bb082b07a09b.tar.bz2
[media] dw2102: i2c transfer corrected for yet another cards
Related to Acorp DS120 and some revisions of DVBWorld DW2102. If you read three or more registers at one time, you get wrong value for third etc. Actually, it didn't affect the driver as it reads registers only by one at a time. But it needs to correct. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dw2102.c')
-rw-r--r--drivers/media/dvb/dvb-usb/dw2102.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/dvb/dvb-usb/dw2102.c b/drivers/media/dvb/dvb-usb/dw2102.c
index ac70e7b..2889d32 100644
--- a/drivers/media/dvb/dvb-usb/dw2102.c
+++ b/drivers/media/dvb/dvb-usb/dw2102.c
@@ -156,8 +156,7 @@ static int dw2102_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[],
/* read stv0299 register */
value = msg[0].buf[0];/* register */
for (i = 0; i < msg[1].len; i++) {
- value = value + i;
- ret = dw210x_op_rw(d->udev, 0xb5, value, 0,
+ ret = dw210x_op_rw(d->udev, 0xb5, value + i, 0,
buf6, 2, DW210X_READ_MSG);
msg[1].buf[i] = buf6[0];
}