]> git.baikalelectronics.ru Git - kernel.git/commit
m32r: Fix IPI function calls for SMP
authorToshihiro HANAWA <hanawa@ccs.tsukuba.ac.jp>
Fri, 2 Oct 2009 08:52:54 +0000 (17:52 +0900)
committerHirokazu Takata <takata@linux-m32r.org>
Sun, 4 Oct 2009 03:02:37 +0000 (12:02 +0900)
commitc48f55f2fa99cf0f55817ab57e9f3d39f89dfd5e
tree3c2f761d0a8f4cfbbff08ee3753f44f4ac7349ab
parent0902f6fc702292fb68e80fcb39b09bd223af4d28
m32r: Fix IPI function calls for SMP

This patch fixes the m32r SMP kernel after 2.6.27.

A part of the following patch breaks m32r SMP operation.
> m32r: convert to generic helpers for IPI function calls
> commit 7c9d6ec3dd63800f29ad80f3c9cb99e5e6c17cbd

In the above patch, a CALL_FUNC_SINGLE_IPI was newly introduced,
but the its IPI vector number was wrong in the patch code.

The m32r SMP kernel hanged-up during boot operation, because
the CPU_BOOT_IPI was called instead of CALL_FUNC_SINGLE_IPI
(CPU_BOOT_IPI had no side effect at that time because the 2nd
core had already been started up),
as a result, csd_unlock() was not called, then a dead lock
occurred in csd_lock_wait() after the detection of Compact Flash
memory as IDE generic disk.

Signed-off-by: Toshihiro HANAWA <hanawa@ccs.tsukuba.ac.jp>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
arch/m32r/kernel/traps.c