[pxe] Update UNDI transmit count before transmitting packet
authorMichael Brown <mcb30@etherboot.org>
Sat, 27 Jun 2009 15:36:21 +0000 (16:36 +0100)
committerMichael Brown <mcb30@etherboot.org>
Sat, 27 Jun 2009 15:36:21 +0000 (16:36 +0100)
commitc26a38b313389af157880efa8557ef894906e317
treef058da3f63671b12f2608dc8b2ff4f7bfac12f1a
parentf186ada2d3ab7f4f03f3c3ac8e9bf3577fb00504
[pxe] Update UNDI transmit count before transmitting packet

It is possible that the UNDI ISR may be triggered before netdev_tx()
returns control to pxenv_undi_transmit().  This means that
pxenv_undi_isr() may see a zero undi_tx_count, and so not check for TX
completions.  This is not a significant problem, since it will check
for TX completions on the next call to pxenv_undi_isr() anyway; it
just means that the NBP will see a spurious IRQ that was apparently
caused by nothing.

Fix by updating the undi_tx_count before calling netdev_tx(), so that
pxenv_undi_isr() can decrement it and report the TX completion.
src/arch/i386/interface/pxe/pxe_undi.c