diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-10-26 15:41:17 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-10-27 01:42:43 -0400 |
commit | 4f917ba3d5ee9c98d60fa357e799942df8412de3 (patch) | |
tree | 3576261c81b76e74b2372d2221196040a369bb92 /drivers/serial | |
parent | 01deab98e3ad8ff27243a8d5f8dd746c7110ae4f (diff) |
powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule
Based on an original patch by Valentine Barshak <vbarshak@ru.mvista.com>
Use preempt_schedule_irq to prevent infinite irq-entry and
eventual stack overflow problems with fast-paced IRQ sources.
This kind of problems has been observed on the PASemi Electra IDE
controller. We have to make sure we are soft-disabled before calling
preempt_schedule_irq and hard disable interrupts after that
to avoid unrecoverable exceptions.
This patch also moves the "clrrdi r9,r1,THREAD_SHIFT" out of
the #ifdef CONFIG_PPC_BOOK3E scope, since r9 is clobbered
and has to be restored in both cases.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'drivers/serial')
0 files changed, 0 insertions, 0 deletions