Index: dev/fxp/if_fxp.c =================================================================== RCS file: /home/ncvs/src/sys/dev/fxp/if_fxp.c,v retrieving revision 1.181 diff -u -r1.181 if_fxp.c --- dev/fxp/if_fxp.c 2 Jun 2003 05:16:42 -0000 1.181 +++ dev/fxp/if_fxp.c 7 Jun 2003 18:06:31 -0000 @@ -1250,6 +1250,13 @@ { struct fxp_softc *sc = ifp->if_softc; + /* + * It is important to unlock the softc's mutex + * otherwise it gets locked again in the case of + * netisr, since netisr does a direct dispatch. + */ + if (mtx_owned(&sc->sc_mtx)) + return; FXP_LOCK(sc); fxp_start_body(ifp); FXP_UNLOCK(sc);