i2c-au1550: Fix a misused register problem
authorChris David <cd@chrisdavid.com>
Sat, 13 Oct 2007 21:56:33 +0000 (23:56 +0200)
committerJean Delvare <khali@hyperion.delvare>
Sat, 13 Oct 2007 21:56:33 +0000 (23:56 +0200)
commita202707e71ff16d5e3a92f40eeaa41f3099dd8c5
tree7c43b75d4cc52fdf9f3a8a3b08a0b235e8529c24
parent6662cbb989ee71712176570759bdc4e596aed417
i2c-au1550: Fix a misused register problem

Fix a "mis-used register" problem on the AMD MIPS Alchemy au1550
I2C interface.

In summary, the programmable serial controller seems to hang the kernel
when I send a single 'address' byte on the I2C bus.  The patch
essentially uses the PSC_SMBSTAT register's TE (transmit FIFO empty)
bit to check when the transmit FIFO is empty, instead of using the
PSC_SMBEVNT register's TU (transmit underflow) bit.  Using the TE bit
fixed the hang problem.

Signed-off-by: Chris David <cd@chrisdavid.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/i2c/busses/i2c-au1550.c