Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/alc/if_alc.c
Show First 20 Lines • Show All 3,369 Lines • ▼ Show 20 Lines | if ((status & ALC_INTRS) == 0) | ||||
goto done; | goto done; | ||||
/* Acknowledge interrupts but still disable interrupts. */ | /* Acknowledge interrupts but still disable interrupts. */ | ||||
CSR_WRITE_4(sc, ALC_INTR_STATUS, status | INTR_DIS_INT); | CSR_WRITE_4(sc, ALC_INTR_STATUS, status | INTR_DIS_INT); | ||||
more = 0; | more = 0; | ||||
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { | if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { | ||||
if ((status & INTR_RX_PKT) != 0) { | if ((status & INTR_RX_PKT) != 0) { | ||||
more = alc_rxintr(sc, sc->alc_process_limit); | more = NET_EPOCH_WRAP_RET(alc_rxintr, (sc, sc->alc_process_limit)); | ||||
if (more == EAGAIN) | if (more == EAGAIN) | ||||
sc->alc_morework = 1; | sc->alc_morework = 1; | ||||
else if (more == EIO) { | else if (more == EIO) { | ||||
ifp->if_drv_flags &= ~IFF_DRV_RUNNING; | ifp->if_drv_flags &= ~IFF_DRV_RUNNING; | ||||
alc_init_locked(sc); | alc_init_locked(sc); | ||||
ALC_UNLOCK(sc); | ALC_UNLOCK(sc); | ||||
return; | return; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,326 Lines • Show Last 20 Lines |