Remove unnecessary controller reinitialization.

CAM filter handling was rewritten long time ago so it should not
require controller reinitialization.

PR:	kern/87506
This commit is contained in:
Pyun YongHyeon 2010-08-24 18:40:11 +00:00
parent 7c45b43651
commit 9fb40e0a9b

View File

@ -1560,6 +1560,7 @@ vr_tick(void *xsc)
sc->vr_stat.num_restart++;
vr_stop(sc);
vr_reset(sc);
sc->vr_ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
vr_init_locked(sc);
sc->vr_flags &= ~VR_F_RESTART;
}
@ -2016,6 +2017,9 @@ vr_init_locked(struct vr_softc *sc)
ifp = sc->vr_ifp;
mii = device_get_softc(sc->vr_miibus);
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
return;
/* Cancel pending I/O and free all RX/TX buffers. */
vr_stop(sc);
vr_reset(sc);
@ -2287,6 +2291,7 @@ vr_watchdog(struct vr_softc *sc)
if_printf(sc->vr_ifp, "watchdog timeout "
"(missed link)\n");
ifp->if_oerrors++;
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
vr_init_locked(sc);
return;
}
@ -2296,6 +2301,7 @@ vr_watchdog(struct vr_softc *sc)
vr_stop(sc);
vr_reset(sc);
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
vr_init_locked(sc);
if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))