While setting up a transmit packet disable interupts on the card then

re-enable them after we are done setting up the packet.  This seems
to fix the MPI350 newer firmware hangs.
This commit is contained in:
Doug Ambrisko 2004-06-17 02:19:11 +00:00
parent 8950572050
commit 6cca5e3463
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=130620

View File

@ -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)