]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/PL390GixDxe: Return from the interrupt handler when it is a sporadic interrupt
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 31 Mar 2011 11:28:25 +0000 (11:28 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 31 Mar 2011 11:28:25 +0000 (11:28 +0000)
Sporadic interrupts must not be handled by any interrupt handlers.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11469 6f19259b-4bc3-4df7-8a09-765794883524

ArmPkg/Drivers/PL390Gic/PL390GicDxe.c

index da86bbcd84652a1ab7d972762d162d0d818d0b4c..94da7f5a744170567c0bbc07e632284f9133c811 100644 (file)
@@ -257,6 +257,7 @@ IrqInterruptHandler (
   GicInterrupt = MmioRead32 (PcdGet32(PcdGicInterruptInterfaceBase) + GIC_ICCIAR);
   if (GicInterrupt >= PcdGet32(PcdGicNumInterrupts)) {
     MmioWrite32 (PcdGet32(PcdGicInterruptInterfaceBase) + GIC_ICCEIOR, GicInterrupt);
   GicInterrupt = MmioRead32 (PcdGet32(PcdGicInterruptInterfaceBase) + GIC_ICCIAR);
   if (GicInterrupt >= PcdGet32(PcdGicNumInterrupts)) {
     MmioWrite32 (PcdGet32(PcdGicInterruptInterfaceBase) + GIC_ICCEIOR, GicInterrupt);
+    return;
   }
   
   InterruptHandler = gRegisteredInterruptHandlers[GicInterrupt];
   }
   
   InterruptHandler = gRegisteredInterruptHandlers[GicInterrupt];