diff --git a/source/arm11/hardware/hardware.c b/source/arm11/hardware/hardware.c index aa75822..c417d40 100644 --- a/source/arm11/hardware/hardware.c +++ b/source/arm11/hardware/hardware.c @@ -43,6 +43,8 @@ deinitCpu(); ((void (*)(void))0x0001004C)(); } + + leaveCriticalSection(); // Enables interrupts } /*void hardwareDeinit(void) diff --git a/source/arm11/hardware/interrupt.c b/source/arm11/hardware/interrupt.c index 006d6c1..0be6e69 100644 --- a/source/arm11/hardware/interrupt.c +++ b/source/arm11/hardware/interrupt.c @@ -126,8 +126,6 @@ tmp = REG_CPU_II_AKN; // Aknowledge REG_CPU_II_EOI = tmp; // End of interrupt } while(tmp != 1023); - - leaveCriticalSection(); // Enables interrupts } void IRQ_registerHandler(Interrupt id, u8 prio, u8 cpuMask, bool edgeTriggered, IrqHandler handler) diff --git a/source/arm9/hardware/hardware.c b/source/arm9/hardware/hardware.c index 38ee3ec..dabf6b9 100644 --- a/source/arm9/hardware/hardware.c +++ b/source/arm9/hardware/hardware.c @@ -33,6 +33,8 @@ PXI_init(); AES_init(); RSA_init(); + + leaveCriticalSection(0u); // Enables interrupts } void hardwareDeinit(void) diff --git a/source/arm9/hardware/interrupt.c b/source/arm9/hardware/interrupt.c index cf535df..de0f514 100644 --- a/source/arm9/hardware/interrupt.c +++ b/source/arm9/hardware/interrupt.c @@ -34,8 +34,6 @@ { REG_IRQ_IE = 0; REG_IRQ_IF = 0xFFFFFFFFu; - - leaveCriticalSection(0u); // Abuse it to enable IRQ } void IRQ_registerHandler(Interrupt id, IrqHandler handler)