Re: em28xx: commit aab3125c43d8fecc7134e5f1e729fabf4dd196da broke HVR 900

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Thu, 21 Mar 2013 09:33:41 +0100
Hans Verkuil <hverkuil@xxxxxxxxx> escreveu:

> I tried to use my HVR 900 stick today and discovered that it no longer worked.
> I traced it to commit aab3125c43d8fecc7134e5f1e729fabf4dd196da: "em28xx: add
> support for registering multiple i2c buses".
> 
> The kernel messages for when it fails are:
...
> Mar 21 09:26:57 telek kernel: [ 1396.542517] xc2028 12-0061: attaching existing instance
> Mar 21 09:26:57 telek kernel: [ 1396.542521] xc2028 12-0061: type set to XCeive xc2028/xc3028 tuner
> Mar 21 09:26:57 telek kernel: [ 1396.542523] em2882/3 #0: em2882/3 #0/2: xc3028 attached
...
> Mar 21 09:26:57 telek kernel: [ 1396.547833] xc2028 12-0061: Error on line 1293: -19

Probably, the I2C speed is wrong. I noticed a small bug on this patch.
The following patch should fix it. Could you please test?

-- 

Regards,
Mauro

[PATCH] em28xx: fix I2C write to register 06

Signed-off-by: Mauro Carvalho Chehab

diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c
index de9b208..dd1f2de 100644
--- a/drivers/media/usb/em28xx/em28xx-i2c.c
+++ b/drivers/media/usb/em28xx/em28xx-i2c.c
@@ -295,7 +295,9 @@ static int em28xx_i2c_xfer(struct i2c_adapter *i2c_adap,
 			dev->cur_i2c_bus |= EM2874_I2C_SECONDARY_BUS_SELECT;
 		else
 			dev->cur_i2c_bus &= ~EM2874_I2C_SECONDARY_BUS_SELECT;
-		em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, dev->cur_i2c_bus);
+		em28xx_write_reg_bits(dev, EM28XX_R06_I2C_CLK,
+				      dev->cur_i2c_bus,
+				      EM2874_I2C_SECONDARY_BUS_SELECT);
 		dev->cur_i2c_bus = bus;
 	}
 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux