This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/media_tree.git tree:

Subject: [media] dw2102: i2c transfer corrected for some cards
Author:  Igor M. Liplianin <[email protected]>
Date:    Sun Feb 27 16:18:38 2011 -0300

Prof 7500 and TeVii s630, s660, s480 works better now

Signed-off-by: Igor M. Liplianin <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/dvb/dvb-usb/dw2102.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

---

http://git.linuxtv.org/media_tree.git?a=commitdiff;h=4f8df37caa76ad8e303c20892fef3b964a1d7562

diff --git a/drivers/media/dvb/dvb-usb/dw2102.c 
b/drivers/media/dvb/dvb-usb/dw2102.c
index 1b75da0..ac70e7b 100644
--- a/drivers/media/dvb/dvb-usb/dw2102.c
+++ b/drivers/media/dvb/dvb-usb/dw2102.c
@@ -564,14 +564,15 @@ static int s6x0_i2c_transfer(struct i2c_adapter *adap, 
struct i2c_msg msg[],
                                        i += 16;
                                        len -= 16;
                                } while (len > 0);
-                       } else if ((udev->descriptor.idProduct == 0x7500)
-                                       && (j < (num - 1))) {
+                       } else if (j < (num - 1)) {
                                /* write register addr before read */
                                u8 obuf[msg[j].len + 2];
                                obuf[0] = msg[j + 1].len;
                                obuf[1] = (msg[j].addr << 1);
                                memcpy(obuf + 2, msg[j].buf, msg[j].len);
-                               ret = dw210x_op_rw(d->udev, 0x92, 0, 0,
+                               ret = dw210x_op_rw(d->udev,
+                                               udev->descriptor.idProduct ==
+                                               0x7500 ? 0x92 : 0x90, 0, 0,
                                                obuf, msg[j].len + 2,
                                                DW210X_WRITE_MSG);
                                break;
@@ -581,8 +582,7 @@ static int s6x0_i2c_transfer(struct i2c_adapter *adap, 
struct i2c_msg msg[],
                                obuf[0] = msg[j].len + 1;
                                obuf[1] = (msg[j].addr << 1);
                                memcpy(obuf + 2, msg[j].buf, msg[j].len);
-                               ret = dw210x_op_rw(d->udev,
-                                               (num > 1 ? 0x90 : 0x80), 0, 0,
+                               ret = dw210x_op_rw(d->udev, 0x80, 0, 0,
                                                obuf, msg[j].len + 2,
                                                DW210X_WRITE_MSG);
                                break;

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to