diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index 7e57daeac0d..9cb794f0330 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -2716,7 +2716,10 @@ static void dc_intr(arg) DC_LOCK(sc); ifp = &sc->arpcom.ac_if; - /* Supress unwanted interrupts */ + if ( (CSR_READ_4(sc, DC_ISR) & DC_INTRS) == 0) + return ; + + /* Suppress unwanted interrupts */ if (!(ifp->if_flags & IFF_UP)) { if (CSR_READ_4(sc, DC_ISR) & DC_INTRS) dc_stop(sc); diff --git a/sys/pci/if_dc.c b/sys/pci/if_dc.c index 7e57daeac0d..9cb794f0330 100644 --- a/sys/pci/if_dc.c +++ b/sys/pci/if_dc.c @@ -2716,7 +2716,10 @@ static void dc_intr(arg) DC_LOCK(sc); ifp = &sc->arpcom.ac_if; - /* Supress unwanted interrupts */ + if ( (CSR_READ_4(sc, DC_ISR) & DC_INTRS) == 0) + return ; + + /* Suppress unwanted interrupts */ if (!(ifp->if_flags & IFF_UP)) { if (CSR_READ_4(sc, DC_ISR) & DC_INTRS) dc_stop(sc);