Commit 0f4e98bc authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] dvb i2c timeout fix

From: Gerd Knorr <kraxel@bytesex.org>

Below is a ObviouslyCorrect[tm] patch which fixes the i2c bus timeout
handling in the saa7146 driver.
parent 524e63d2
...@@ -186,7 +186,7 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d ...@@ -186,7 +186,7 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d
{ {
u32 status = 0, mc2 = 0; u32 status = 0, mc2 = 0;
int trial = 0; int trial = 0;
int timeout; unsigned long timeout;
/* write out i2c-command */ /* write out i2c-command */
DEB_I2C(("before: 0x%08x (status: 0x%08x), %d\n",*dword,saa7146_read(dev, I2C_STATUS), dev->i2c_op)); DEB_I2C(("before: 0x%08x (status: 0x%08x), %d\n",*dword,saa7146_read(dev, I2C_STATUS), dev->i2c_op));
...@@ -218,7 +218,7 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d ...@@ -218,7 +218,7 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d
if( 0 != mc2 ) { if( 0 != mc2 ) {
break; break;
} }
if (jiffies > timeout) { if (time_after(jiffies,timeout)) {
printk(KERN_WARNING "saa7146_i2c_writeout: timed out waiting for MC2\n"); printk(KERN_WARNING "saa7146_i2c_writeout: timed out waiting for MC2\n");
return -EIO; return -EIO;
} }
...@@ -233,7 +233,7 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d ...@@ -233,7 +233,7 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d
status = saa7146_i2c_status(dev); status = saa7146_i2c_status(dev);
if ((status & 0x3) != 1) if ((status & 0x3) != 1)
break; break;
if (jiffies > timeout) { if (time_after(jiffies,timeout)) {
/* this is normal when probing the bus /* this is normal when probing the bus
* (no answer from nonexisistant device...) * (no answer from nonexisistant device...)
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment