Clear the interrupt prior to servicing the interrupt - previously it was the other way around.

pull/1/head
Richard Barry 17 years ago
parent bf5cd55c55
commit ade2da38ed

@ -245,13 +245,12 @@ XIntc_VectorTableEntry *pxTable;
{ {
if( ulInterruptStatus & 0x01UL ) if( ulInterruptStatus & 0x01UL )
{ {
/* Clear the pending interrupt. */
XIntc_mAckIntr( pxInterruptController->BaseAddress, ulInterruptMask );
/* Call the registered handler. */ /* Call the registered handler. */
pxTable = &( pxInterruptController->HandlerTable[ xInterruptNumber ] ); pxTable = &( pxInterruptController->HandlerTable[ xInterruptNumber ] );
pxTable->Handler( pxTable->CallBackRef ); pxTable->Handler( pxTable->CallBackRef );
/* Clear the pending interrupt. */
XIntc_mAckIntr( pxInterruptController->BaseAddress, ulInterruptMask );
break;
} }
/* Check the next interrupt. */ /* Check the next interrupt. */

Loading…
Cancel
Save