The patch number 9627 was added via Mauro Carvalho Chehab <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        [EMAIL PROTECTED]

------

From: Mauro Carvalho Chehab  <[EMAIL PROTECTED]>
em28xx: Avoid i2c register error for boards without eeprom


Priority: normal

Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>


---

 linux/drivers/media/video/em28xx/em28xx-i2c.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff -r 47f1ed46f569 -r f3128f8e3475 
linux/drivers/media/video/em28xx/em28xx-i2c.c
--- a/linux/drivers/media/video/em28xx/em28xx-i2c.c     Sun Nov 16 01:26:13 
2008 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-i2c.c     Sun Nov 16 00:44:14 
2008 -0200
@@ -348,9 +348,9 @@ static int em28xx_i2c_eeprom(struct em28
        /* 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;
@@ -620,14 +620,16 @@ int em28xx_i2c_register(struct em28xx *d
        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;
 }
 


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/f3128f8e347523836f61c874a3356fd0b3436c2f

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to