diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index bf1d86d8a62..242c928ab2a 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -3138,8 +3138,9 @@ dc_intr(void *arg) /* Disable interrupts. */ CSR_WRITE_4(sc, DC_IMR, 0x00000000); - while (((status = CSR_READ_4(sc, DC_ISR)) & DC_INTRS) - && status != 0xFFFFFFFF) { + while (((status = CSR_READ_4(sc, DC_ISR)) & DC_INTRS) && + status != 0xFFFFFFFF && + ifp->if_drv_flags & IFF_DRV_RUNNING) { CSR_WRITE_4(sc, DC_ISR, status);