From 7ed2454cb30c2ecfece0addae8a8523f0b674bfa Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Wed, 28 Dec 2005 13:21:05 +0000 Subject: [PATCH] Check for IFF_DRV_RUNNING in the interrupt loop. Reported & tested by: Martin P. Hansen --- sys/dev/dc/if_dc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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);