
From: Christoph Hellwig <hch@lst.de>

The newly merged frv do_IRQ code calls softirq_pending(), but always with
the current cpu as argument - switch to local_softirq_pending().

Btw, this usage look bogus to me, any reason you need to call do_softirq
again after you did four lines above in irq_exit(), David?

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/frv/kernel/irq.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/frv/kernel/irq.c~switch-frw-to-use-local_soft_irq_pending arch/frv/kernel/irq.c
--- 25/arch/frv/kernel/irq.c~switch-frw-to-use-local_soft_irq_pending	2005-01-16 14:39:56.488156176 -0800
+++ 25-akpm/arch/frv/kernel/irq.c	2005-01-16 14:39:56.492155568 -0800
@@ -312,7 +312,7 @@ asmlinkage void do_IRQ(void)
 
 	/* only process softirqs if we didn't interrupt another interrupt handler */
 	if ((__frame->psr & PSR_PIL) == PSR_PIL_0)
-		if (softirq_pending(cpu))
+		if (local_softirq_pending())
 			do_softirq();
 
 #ifdef CONFIG_PREEMPT
_
