summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc83xx
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-09-09 13:18:58 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-09-09 13:18:58 +0000
commit39dfbe1621d9bcdb477dafa834112b5437c0b734 (patch)
treec00521a7a3e010465492df6c7c3b7147dc1e1aef /c/src/lib/libcpu/powerpc/mpc83xx
parent2008-09-09 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-39dfbe1621d9bcdb477dafa834112b5437c0b734.tar.bz2
minor additions
i2c-driver: wait, 'til stop executed
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc83xx')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c b/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c
index 1fcabb5a2b..2510bbfef9 100644
--- a/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c
+++ b/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c
@@ -424,7 +424,12 @@ static rtems_status_code mpc83xx_i2c_send_stop
printk("mpc83xx_i2c_send_stop called... ");
#endif
softc_ptr->reg_ptr->i2ccr &= ~MPC83XX_I2CCR_MSTA;
-
+ /*
+ * wait, 'til stop has been executed
+ */
+ while (0 != (softc_ptr->reg_ptr->i2csr & MPC83XX_I2CSR_MBB)) {
+ rtems_task_wake_after(RTEMS_YIELD_PROCESSOR);
+ }
#if defined(DEBUG)
printk("... exit OK\r\n");
#endif