diff options
Diffstat (limited to 'sys/dev/an/if_an.c')
-rw-r--r-- | sys/dev/an/if_an.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/an/if_an.c b/sys/dev/an/if_an.c index e1623ec..fb08f70 100644 --- a/sys/dev/an/if_an.c +++ b/sys/dev/an/if_an.c @@ -2725,6 +2725,9 @@ an_start(ifp) ifp->if_timer = 5; } } else { /* MPI-350 */ + /* Disable interrupts. */ + CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), 0); + while (sc->an_rdata.an_tx_empty || idx != sc->an_rdata.an_tx_cons) { IF_DEQUEUE(&ifp->if_snd, m0); @@ -2798,6 +2801,9 @@ an_start(ifp) */ ifp->if_timer = 5; } + + /* Re-enable interrupts. */ + CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), AN_INTRS(sc->mpi350)); } if (m0 != NULL) |