david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src
Michael Brown 97f0f56a34 [netdevice] Cancel all pending transmissions on any transmit error
Some external code (such as the UEFI UNDI driver for the Realtek USB
NIC on a Microsoft Surface Book) will block during transmission
attempts and can take several seconds to report a transmit error.  If
there is a large queue of pending transmissions, then the accumulated
time from a series of such failures can easily exceed the EFI watchdog
timeout, resulting in what appears to be a system lockup followed by a
reboot.

Work around this problem by immediately cancelling any pending
transmissions as soon as any transmit error occurs.

The only expected transmit error under normal operation is ENOBUFS
arising when the hardware transmit queue is full.  By definition, this
can happen only for drivers that do not utilise deferred
transmissions, and so this new behaviour will not affect these
drivers.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-09-05 12:30:04 +01:00
..
arch [romprefix] Avoid unaligned accesses within ROM headers 2017-08-30 10:15:25 +01:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [shell] Enable "shell" command even when BANNER_TIMEOUT is zero 2017-08-01 20:25:28 +01:00
core [malloc] Avoid false positive warnings from valgrind 2017-09-04 14:09:17 +01:00
crypto [crypto] Expose asn1_grow() 2017-06-20 09:49:00 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [efi] Raise TPL when calling UNDI entry point 2017-09-05 10:48:41 +01:00
hci [mucurses] Avoid potential division by zero 2017-07-04 12:51:53 +01:00
image [crypto] Expose pem_asn1() for use with non-image data 2017-06-20 10:14:07 +01:00
include [hyperv] Do not steal ownership from the Gen 2 UEFI firmware 2017-07-28 21:30:43 +01:00
interface [efi] Provide access to ACPI tables 2017-05-23 18:48:02 +01:00
libgcc [libgcc] Provide __divmoddi4() 2016-05-05 23:42:57 +01:00
net [netdevice] Cancel all pending transmissions on any transmit error 2017-09-05 12:30:04 +01:00
scripts [efi] Centralise architecture-independent EFI Makefile and linker script 2016-03-12 21:47:13 +00:00
tests [build] Avoid implicit-fallthrough warnings on GCC 7 2017-03-29 10:36:45 +03:00
usr [block] Allow use of a non-default EFI SAN boot filename 2017-04-12 15:58:05 +01:00
util [efi] Fix building elf2efi.c when -fpic is enabled by default 2017-01-25 08:15:21 +00:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00
Makefile [sfc] Add driver for Solarflare SFC8XXX adapters 2017-04-10 16:17:08 +01:00
Makefile.efi [efi] Centralise architecture-independent EFI Makefile and linker script 2016-03-12 21:47:13 +00:00
Makefile.housekeeping [profile] Allow profiling to be globally enabled or disabled 2016-07-05 13:49:51 +01:00