Check for IFF_DRV_RUNNING in the interrupt loop.
Reported & tested by: Martin P. Hansen <mph lima.dyndns.dk>
This commit is contained in:
parent
747cdba40e
commit
7ed2454cb3
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user