CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2022/01/04 20:53:26
Modified files:
sys/dev/pci : if_msk.c
Log message:
use the index provided by the txcompletion descriptor in txeof.
this replaces the use of a register in txeof to figure out how much
of the ring has been completed by the hardware. that register isn't
reset when an interface is taken down and brought up again, which
messes with the calculations of free slots on the ring, which in
turn messes up the ability to transmit packets.
this means the watchdog can't know where the hardware is up to
anymore, so just restartthe chip if the watchdog fires.
it seems to be important to start the tx ring in msk_init on the
0th ring entry that we use to reset the high address value to 0.
we still fill the 0th descriptor, but we let the first msk_start
call post it for us when a packet goes on the ring.
a slight tweak and ok jmatthew@