[efi] Fix receive and transmit completion reporting
authorMichael Brown <mcb30@ipxe.org>
Wed, 22 Jul 2015 17:31:45 +0000 (18:31 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 22 Jul 2015 17:31:45 +0000 (18:31 +0100)
commit88a5f56dc73345102b808800cd36a67c91a2c363
tree1bc6859c0ffae37a463ab3a9251c2dfccceac5ef
parentf903ddaac0574cb2031d742ee29c8ee1ae136225
[efi] Fix receive and transmit completion reporting

Fix the TxBuf value filled in by GetStatus() to report the transmit
buffer address as required by the (now clarified) specification.

Simplify "interrupt" handling in GetStatus() to report only that one
or more packets have been transmitted or received; there is no need to
report one GetStatus() "interrupt" per packet.

Simplify receive handling to dequeue received packets immediately from
the network device into an internal list (thereby avoiding the hacks
previously used to determine when to report new packet arrivals).

Originally-fixed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/efi/efi_snp.h
src/interface/efi/efi_snp.c