[Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on
authorMichael Hennerich <michael.hennerich@analog.com>
Mon, 24 Dec 2007 12:19:51 +0000 (20:19 +0800)
committerBryan Wu <bryan.wu@analog.com>
Mon, 24 Dec 2007 12:19:51 +0000 (20:19 +0800)
Make sure the SYSTEM reset completes before we issue the CORE reset

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
arch/blackfin/kernel/reboot.c

index ae28aac6fec156c01bfd3095a8002de8b9dc9863..06501a594ddadc3ff1485db06088041ea5e11bdf 100644 (file)
@@ -34,9 +34,11 @@ void bfin_reset(void)
        while (1) {
                /* initiate system soft reset with magic 0x7 */
                bfin_write_SWRST(0x7);
+               bfin_read_SWRST();
                asm("ssync;");
                /* clear system soft reset */
                bfin_write_SWRST(0);
+               bfin_read_SWRST();
                asm("ssync;");
                /* issue core reset */
                asm("raise 1");