]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[efi] Disable SNP devices when running iPXE as the application
authorMichael Brown <mcb30@ipxe.org>
Fri, 14 Mar 2014 14:16:05 +0000 (14:16 +0000)
committerMichael Brown <mcb30@ipxe.org>
Fri, 14 Mar 2014 17:09:51 +0000 (17:09 +0000)
commitf473b9c3f66a2166129e1f60774f56e673423c5a
treef3e9688fb39fa298df425491ac5fb64a19308cb4
parentf618178e60702c0ccb2501976bad36d483134938
[efi] Disable SNP devices when running iPXE as the application

Some UEFI builds will set up a timer to continuously poll any SNP
devices.  This can drain packets from the network device's receive
queue before iPXE gets a chance to process them.

Use netdev_rx_[un]freeze() to explicitly indicate when we expect our
network devices to be driven via the external SNP API (as we do with
the UNDI API on the standard BIOS build), and disable the SNP API
except when receive queue processing is frozen.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/x86/prefix/efidrvprefix.c
src/image/efi_image.c
src/include/ipxe/efi/efi_snp.h
src/interface/efi/efi_snp.c