\r
// Read interrupt status if IrqStat is not NULL\r
if (IrqStat != NULL) {\r
+ *IrqStat = 0;\r
\r
// Check for receive interrupt\r
if (MmioRead32 (LAN9118_INT_STS) & INSTS_RSFL) { // Data moved from rx FIFO\r
*IrqStat |= EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT;\r
MmioWrite32 (LAN9118_INT_STS,INSTS_RSFL);\r
- } else {\r
- *IrqStat &= ~EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT;\r
}\r
\r
// Check for transmit interrupt\r
if (MmioRead32 (LAN9118_INT_STS) & INSTS_TSFL) {\r
*IrqStat |= EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT;\r
MmioWrite32 (LAN9118_INT_STS,INSTS_TSFL);\r
- } else {\r
- *IrqStat &= ~EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT;\r
}\r
\r
// Check for software interrupt\r
if (MmioRead32 (LAN9118_INT_STS) & INSTS_SW_INT) {\r
*IrqStat |= EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT;\r
MmioWrite32 (LAN9118_INT_STS,INSTS_SW_INT);\r
- } else {\r
- *IrqStat &= ~EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT;\r
}\r
}\r
\r