diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-12-16 22:04:48 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-12-16 22:04:48 +0100 |
commit | 78f902ccc597d6ce3e8d1477d70f2d79e960ba7a (patch) | |
tree | c6ceab663de16501d1dda1c1596fe2dacaaef8e3 /drivers/media/video/em28xx/em28xx-i2c.c | |
parent | 9ee670fd87b7d69c8633b94c42aadcbbcb96f28e (diff) | |
parent | 8b1fae4e4200388b64dd88065639413cb3f1051c (diff) | |
download | op-kernel-dev-78f902ccc597d6ce3e8d1477d70f2d79e960ba7a.zip op-kernel-dev-78f902ccc597d6ce3e8d1477d70f2d79e960ba7a.tar.gz |
Merge commit 'v2.6.28-rc8' into x86/doc
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-i2c.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-i2c.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/video/em28xx/em28xx-i2c.c b/drivers/media/video/em28xx/em28xx-i2c.c index 3bab56b..2360c61 100644 --- a/drivers/media/video/em28xx/em28xx-i2c.c +++ b/drivers/media/video/em28xx/em28xx-i2c.c @@ -337,9 +337,9 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned char *eedata, int len) /* Check if board has eeprom */ err = i2c_master_recv(&dev->i2c_client, &buf, 0); if (err < 0) { - em28xx_errdev("%s: i2c_master_recv failed! err [%d]\n", - __func__, err); - return err; + em28xx_errdev("board has no eeprom\n"); + memset(eedata, 0, len); + return -ENODEV; } buf = 0; @@ -609,14 +609,16 @@ int em28xx_i2c_register(struct em28xx *dev) dev->i2c_client.adapter = &dev->i2c_adap; retval = em28xx_i2c_eeprom(dev, dev->eedata, sizeof(dev->eedata)); - if (retval < 0) { + if ((retval < 0) && (retval != -ENODEV)) { em28xx_errdev("%s: em28xx_i2_eeprom failed! retval [%d]\n", __func__, retval); + return retval; } if (i2c_scan) em28xx_do_i2c_scan(dev); + return 0; } |