--- zzzz-none-000/linux-2.6.19.2/drivers/media/common/saa7146_i2c.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/drivers/media/common/saa7146_i2c.c 2007-01-11 07:38:19.000000000 +0000 @@ -217,9 +217,11 @@ } /* wait until we get a transfer done or error */ timeout = jiffies + HZ/100 + 1; /* 10ms */ - /* first read usually delivers bogus results... */ - saa7146_i2c_status(dev); while(1) { + /** + * first read usually delivers bogus results... + */ + saa7146_i2c_status(dev); status = saa7146_i2c_status(dev); if ((status & 0x3) != 1) break; @@ -230,10 +232,10 @@ DEB_I2C(("saa7146_i2c_writeout: timed out waiting for end of xfer\n")); return -EIO; } - if (++trial < 50 && short_delay) + if ((++trial < 20) && short_delay) udelay(10); else - msleep(1); + msleep(1); } }