Skip to content
  • Benjamin Herrenschmidt's avatar
    powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule · 4f917ba3
    Benjamin Herrenschmidt authored
    
    
    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: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    4f917ba3