[media] cx231xx: use 1 byte read for i2c scan
authorMatthias Schwarzott <zzam@gentoo.org>
Sat, 1 Nov 2014 20:19:21 +0000 (17:19 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 3 Nov 2014 17:57:08 +0000 (15:57 -0200)
Now cx231xx_i2c_check_for_device works like i2c_check_for_device of em28xx driver.

For me this fixes scanning of all ports but port 2.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/usb/cx231xx/cx231xx-i2c.c

index 1a0d9efeb2097b7915e42c02971dbeb90a717bed..5a0604711be076b61fbaf69decb245a93d893eac 100644 (file)
@@ -350,14 +350,15 @@ static int cx231xx_i2c_check_for_device(struct i2c_adapter *i2c_adap,
        struct cx231xx *dev = bus->dev;
        struct cx231xx_i2c_xfer_data req_data;
        int status = 0;
+       u8 buf[1];
 
        /* prepare xfer_data struct */
        req_data.dev_addr = msg->addr;
-       req_data.direction = msg->flags;
+       req_data.direction = I2C_M_RD;
        req_data.saddr_len = 0;
        req_data.saddr_dat = 0;
-       req_data.buf_size = 0;
-       req_data.p_buffer = NULL;
+       req_data.buf_size = 1;
+       req_data.p_buffer = buf;
 
        /* usb send command */
        status = dev->cx231xx_send_usb_command(bus, &req_data);