pxe: revamp timeout, improve the unloading of gpxelinux
authorH. Peter Anvin <hpa@zytor.com>
Mon, 1 Mar 2010 03:00:17 +0000 (19:00 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 1 Mar 2010 03:02:11 +0000 (19:02 -0800)
commit33cc00e1bd268148efdd994b1fb961645ab95cd7
treec8460d697839d29fd03e8186c82ae16056cca483
parent9383b42b123bc99c1740ab643ad20a76403abeb0
pxe: revamp timeout, improve the unloading of gpxelinux

Revamp the timeout mechanism, to deal with UDP stacks (like gPXE!)
which lose transmit packets.  gPXE, in particular, will drop a UDP
packet if it doesn't have the recipient in the ARP cache.
Furthermore, it has the poor taste to not even send back an error.

Also, always unload gPXE when present, before exiting.  This should
let us clean up low memory better.  Reconsider if this turns out to be
too slow.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
core/fs/pxe/pxe.c