diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2007-12-24 20:19:51 +0800 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-12-24 20:19:51 +0800 |
commit | a546b0ac5988348446e4fd5987df699b4c9b1f2a (patch) | |
tree | d209922c32a7ae7c6dc74f1c824bc21a9376b4aa /arch/blackfin/kernel | |
parent | 7cc1c4b2c44d7807f55da6a36f5b2e49977c67b7 (diff) | |
download | blackbird-op-linux-a546b0ac5988348446e4fd5987df699b4c9b1f2a.tar.gz blackbird-op-linux-a546b0ac5988348446e4fd5987df699b4c9b1f2a.zip |
[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 <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r-- | arch/blackfin/kernel/reboot.c | 2 |
1 files changed, 2 insertions, 0 deletions
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"); |