]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[undi] Retry PXENV_UNDI_INITIALIZE multiple times
authorMichael Brown <mcb30@ipxe.org>
Thu, 8 Dec 2011 00:06:53 +0000 (00:06 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 8 Dec 2011 00:12:28 +0000 (00:12 +0000)
commitfa3ca017acbf70c900a101409f006c37e9d0e994
treed2376cb9d8d157994b07ef177ce9dddb47adcd9e
parent8926c233f69cf0f8757ce3fad4232b2396ca7834
[undi] Retry PXENV_UNDI_INITIALIZE multiple times

On at least one PXE stack (Realtek r8169), PXENV_UNDI_INITIALIZE has
been observed to fail intermittently due to a media test failure (PXE
error 0x00000061).  Retrying the call to PXENV_UNDI_INITIALIZE
succeeds, and the NIC is then usable.

It is worth noting that this particular Realtek PXE stack is already
known to be unreliable: for example, it repeatably fails its own
boot-time media test after every warm reboot.

Fix by attempting PXENV_UNDI_INITIALIZE multiple times, with a short
delay between each attempt to allow the link to settle.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/i386/drivers/net/undinet.c