From: Michael Hennerich Date: Mon, 24 Dec 2007 12:19:51 +0000 (+0800) Subject: [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=a546b0ac5988348446e4fd5987df699b4c9b1f2a;p=deliverable%2Flinux.git [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on Make sure the SYSTEM reset completes before we issue the CORE reset Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu --- diff --git a/arch/blackfin/kernel/reboot.c b/arch/blackfin/kernel/reboot.c index ae28aac6fec1..06501a594dda 100644 --- a/arch/blackfin/kernel/reboot.c +++ b/arch/blackfin/kernel/reboot.c @@ -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");