[PATCH] em28xx: Do not modify EM28XX_R06_I2C_CLK for em2800

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

 



Hello,

writing the EM28XX_R06_I2C_CLK register leads to the problem that the i2c bus on the Terratec Cinergy 200 USB is no longer usable when the system is rebooted.
The device needs to be unplugged in order to bring it back to life.
Attached patch conditionally disables the write in em28xx_pre_card_setup() like
it is already done in em28xx_card_setup().

Regards

Sascha

Do not modify EM28XX_R06_I2C_CLK for em2800
Modifying this register makes the Terratec Cinergy 200 USB unusable
after reboot.

Signed-off-by: Sascha Sommer <saschasommer@xxxxxxxxxx>

diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 897a432..0b2e6d5 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -2287,7 +2287,8 @@ void em28xx_pre_card_setup(struct em28xx *dev)
 	/* Set the initial XCLK and I2C clock values based on the board
 	   definition */
 	em28xx_write_reg(dev, EM28XX_R0F_XCLK, dev->board.xclk & 0x7f);
-	em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, dev->board.i2c_speed);
+	if (!dev->board.is_em2800)
+		em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, dev->board.i2c_speed);
 	msleep(50);
 
 	/* request some modules */

[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