2008-02-12 06:10:44

by Greg Ungerer

[permalink] [raw]
Subject: [M68KNOMMU]: fix coldfire interrupt exit path

From: Walter T Gruczka <[email protected]>

Remove bogus conditional jump in return from interrupt path.
Reorder the code path now that is not there.

Signed-off-by: Greg Ungerer <[email protected]>
---

diff -Naurp linux-2.6.25-rc1/arch/m68knommu/platform/coldfire/entry.S linux-2.6.x/arch/m68knommu/platform/coldfire/entry.S
--- linux-2.6.25-rc1/arch/m68knommu/platform/coldfire/entry.S 2008-02-11 14:50:21.000000000 +1000
+++ linux-2.6.x/arch/m68knommu/platform/coldfire/entry.S 2008-02-12 14:05:13.000000000 +1000
@@ -197,14 +197,13 @@ ENTRY(fasthandler)
RESTORE_LOCAL

ENTRY(ret_from_interrupt)
- jeq 2f
-1:
- RESTORE_ALL
-2:
moveb %sp@(PT_SR),%d0
andl #0x7,%d0
- jhi 1b
+ jeq 1f

+ RESTORE_ALL
+
+1:
/* check if we need to do software interrupts */
movel irq_stat+CPUSTAT_SOFTIRQ_PENDING,%d0
jeq ret_from_exception