diff --git a/arch/mips/include/pic32mx/irq.h b/arch/mips/include/pic32mx/irq.h index 24ccef8670f..de097063063 100755 --- a/arch/mips/include/pic32mx/irq.h +++ b/arch/mips/include/pic32mx/irq.h @@ -95,7 +95,7 @@ static inline uint32_t cp0_getintctl(void) : "memory" ); - return cause; + return intctl; } /**************************************************************************** @@ -155,7 +155,7 @@ static inline uint32_t cp0_getebase(void) : "memory" ); - return cause; + return ebase; } /**************************************************************************** diff --git a/arch/mips/src/pic32mx/pic32mx-decodeirq.c b/arch/mips/src/pic32mx/pic32mx-decodeirq.c index 400cc92b942..5f1df88c1cb 100644 --- a/arch/mips/src/pic32mx/pic32mx-decodeirq.c +++ b/arch/mips/src/pic32mx/pic32mx-decodeirq.c @@ -39,6 +39,8 @@ #include +#include + #include #include @@ -83,14 +85,6 @@ uint32_t *pic32mx_decodeirq(uint32_t *regs) { -#ifdef CONFIG_SUPPRESS_INTERRUPTS - - up_ledon(LED_INIRQ); - PANIC(OSERR_ERREXCEPTION); - up_ledoff(LED_INIRQ); /* Won't get here */ - return regs; - -#else uint32_t *savestate; uint32_t regval; int irq; @@ -170,5 +164,4 @@ uint32_t *pic32mx_decodeirq(uint32_t *regs) } return regs; -#endif }