summaryrefslogtreecommitdiff
path: root/drivers/media/video/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
authorSascha Sommer <saschasommer@freenet.de>2012-01-08 16:32:09 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-01-10 22:48:18 -0200
commitca80cf60489508792e97a7703ed35756f4d62943 (patch)
treef212c7510d333061e914f2b2f4a7f1de0cd6188e /drivers/media/video/em28xx/em28xx-cards.c
parent0903bb540e5bb99a9e58d583a596a30620f65702 (diff)
[media] em28xx: Do not modify EM28XX_R06_I2C_CLK for em2800
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(). Signed-off-by: Sascha Sommer <saschasommer@freenet.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 6448011e3a1b..21cc910ecd83 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 */