Make sure to clear IFF_DRV_RUNNING to reinitialize controller.

While I'm here update if_oerrors counter when driver encounters
watchdog timeout.
This commit is contained in:
Pyun YongHyeon 2010-09-21 17:31:14 +00:00
parent b7dc7dd4f5
commit 744ec7f282

View File

@ -1320,6 +1320,8 @@ et_watchdog(struct et_softc *sc)
if_printf(sc->ifp, "watchdog timed out\n");
sc->ifp->if_oerrors++;
sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
et_init_locked(sc);
et_start_locked(sc->ifp);
}