- Revert the parts of the previous revision which reloaded the watchdog
timer in xl_txeof()/xl_txeof_90xB(); xl_poll_locked() unconditionally invokes xl_txeof()/xl_txeof_90xB(), effectively circumventing that the watchdog ever fires in the DEVICE_POLLING case as its timer is constantly reloaded. - Remove the banal and pedantically outdated comment regarding setting xl_wdog_timer to 0 in xl_txeof(). Pointed out by: bde
This commit is contained in:
parent
7185cd3625
commit
22e5ade048
@ -2151,7 +2151,6 @@ xl_txeof(struct xl_softc *sc)
|
||||
|
||||
if (sc->xl_cdata.xl_tx_head == NULL) {
|
||||
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
|
||||
/* Clear the timeout timer. */
|
||||
sc->xl_wdog_timer = 0;
|
||||
sc->xl_cdata.xl_tx_tail = NULL;
|
||||
} else {
|
||||
@ -2160,7 +2159,6 @@ xl_txeof(struct xl_softc *sc)
|
||||
CSR_WRITE_4(sc, XL_DOWNLIST_PTR,
|
||||
sc->xl_cdata.xl_tx_head->xl_phys);
|
||||
CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_DOWN_UNSTALL);
|
||||
sc->xl_wdog_timer = 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2199,7 +2197,8 @@ xl_txeof_90xB(struct xl_softc *sc)
|
||||
XL_INC(idx, XL_TX_LIST_CNT);
|
||||
}
|
||||
|
||||
sc->xl_wdog_timer = sc->xl_cdata.xl_tx_cnt == 0 ? 0 : 5;
|
||||
if (sc->xl_cdata.xl_tx_cnt == 0)
|
||||
sc->xl_wdog_timer = 0;
|
||||
sc->xl_cdata.xl_tx_cons = idx;
|
||||
|
||||
if (cur_tx != NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user