From 76cf67a07ae05e883fccfa750fc1f44ec6a7e507 Mon Sep 17 00:00:00 2001 From: Devin Heitmueller Date: Wed, 12 Nov 2008 02:05:10 -0300 Subject: [PATCH] --- yaml --- r: 124183 b: refs/heads/master c: a527c9f827517a14b869511a954910d973556c8c h: refs/heads/master i: 124181: 8d5a6065c61ecf4a41b7f4f63aa02b48eb5a9f67 124179: dfe93c044a7a1d4eb129c2863f2963b444a2124c 124175: de02b24cb9ed62b2e7ae52899190bc34df48c8e0 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/em28xx/em28xx-i2c.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b250d8878049..ce9f7d16b4fd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6a1acc3bc5144e004996029b20e46e6020d128a7 +refs/heads/master: a527c9f827517a14b869511a954910d973556c8c diff --git a/trunk/drivers/media/video/em28xx/em28xx-i2c.c b/trunk/drivers/media/video/em28xx/em28xx-i2c.c index 2360c61ddca9..ec3e3b157ba8 100644 --- a/trunk/drivers/media/video/em28xx/em28xx-i2c.c +++ b/trunk/drivers/media/video/em28xx/em28xx-i2c.c @@ -332,6 +332,17 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned char *eedata, int len) struct em28xx_eeprom *em_eeprom = (void *)eedata; int i, err, size = len, block; + if (dev->chip_id == CHIP_ID_EM2874) { + /* Empia switched to a 16-bit addressable eeprom in newer + devices. While we could certainly write a routine to read + the eeprom, there is nothing of use in there that cannot be + accessed through registers, and there is the risk that we + could corrupt the eeprom (since a 16-bit read call is + interpreted as a write call by 8-bit eeproms). + */ + return 0; + } + dev->i2c_client.addr = 0xa0 >> 1; /* Check if board has eeprom */