From 509f1bb38d59f9a6bda5787d4d12c1d3098784e4 Mon Sep 17 00:00:00 2001 From: Chris David Date: Sat, 13 Oct 2007 23:56:33 +0200 Subject: [PATCH] --- yaml --- r: 68600 b: refs/heads/master c: a202707e71ff16d5e3a92f40eeaa41f3099dd8c5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/i2c/busses/i2c-au1550.c | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 6270bf447d46..73e2054fa02e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6662cbb989ee71712176570759bdc4e596aed417 +refs/heads/master: a202707e71ff16d5e3a92f40eeaa41f3099dd8c5 diff --git a/trunk/drivers/i2c/busses/i2c-au1550.c b/trunk/drivers/i2c/busses/i2c-au1550.c index d7e7c359fc36..2f684166c43d 100644 --- a/trunk/drivers/i2c/busses/i2c-au1550.c +++ b/trunk/drivers/i2c/busses/i2c-au1550.c @@ -48,17 +48,14 @@ wait_xfer_done(struct i2c_au1550_data *adap) sp = (volatile psc_smb_t *)(adap->psc_base); - /* Wait for Tx FIFO Underflow. + /* Wait for Tx Buffer Empty */ for (i = 0; i < adap->xfer_timeout; i++) { - stat = sp->psc_smbevnt; + stat = sp->psc_smbstat; au_sync(); - if ((stat & PSC_SMBEVNT_TU) != 0) { - /* Clear it. */ - sp->psc_smbevnt = PSC_SMBEVNT_TU; - au_sync(); + if ((stat & PSC_SMBSTAT_TE) != 0) return 0; - } + udelay(1); }