david/ipxe
david
/
ipxe
Archived
1
0
Fork 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/interface/efi
Michael Brown 74d90b33f8 [efi] Inhibit our driver Start() method during disconnection attempts
Some HP BIOSes (observed with a Z840) seem to attempt to connect our
drivers in the middle of our call to DisconnectController().  The
precise chain of events is unclear, but the symptom is that we see
several calls to our Supported() and Start() methods, followed by a
system lock-up.

Work around this dubious BIOS behaviour by explicitly failing calls to
our Start() method while we are in the middle of attempting to
disconnect drivers.

Reported-by: Jordan Wright <jordan.m.wright@disney.com>
Debugged-by: Adrian Lucrèce Céleste <adrianlucrececeleste@airmail.cc>
Debugged-by: Christian Nilsson <nikize@gmail.com>
Tested-by: Jordan Wright <jordan.m.wright@disney.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-09-22 18:39:04 +01:00
..
efi_acpi.c [efi] Provide access to ACPI tables 2017-05-23 18:48:02 +01:00
efi_autoboot.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
efi_block.c [block] Provide sandev_read() and sandev_write() as global symbols 2017-04-26 20:15:39 +01:00
efi_bofm.c [efi] Remove raw EFI_HANDLE values from debug messages 2015-08-27 15:40:44 +01:00
efi_console.c [efi] Add missing definitions for function key scancodes 2016-02-12 13:08:52 +00:00
efi_debug.c [efi] Add EFI_ACPI_TABLE_PROTOCOL header and GUID definition 2017-03-10 21:58:05 +00:00
efi_download.c [efi] Avoid unnecessarily passing pointers to EFI_HANDLEs 2014-07-31 12:50:09 +01:00
efi_driver.c [efi] Inhibit our driver Start() method during disconnection attempts 2017-09-22 18:39:04 +01:00
efi_entropy.c [efi] Generalise EFI entropy generation to non-x86 CPUs 2016-05-04 14:34:24 +01:00
efi_fbcon.c [efi] Work around broken GetFontInfo() implementations 2016-03-10 18:09:59 +00:00
efi_file.c [efi] Centralise EFI file system info GUIDs 2015-12-09 17:36:08 +00:00
efi_guid.c [efi] Fix typo in efi_acpi_table_protocol_guid 2017-04-10 16:46:11 +01:00
efi_hii.c [efi] Fix uninitialised data in HII IFR structures 2016-06-29 15:17:12 +01:00
efi_init.c [efi] Prevent EFI code from being linked in to non-EFI builds 2017-05-19 12:21:18 +01:00
efi_local.c [efi] Provide access to files stored on EFI filesystems 2016-03-14 21:11:01 +00:00
efi_pci.c [efi] Standardise PCI debug messages 2017-05-01 14:01:54 +01:00
efi_pxe.c [efi] Expose DHCP packets via the Apple NetBoot protocol 2016-05-29 13:10:14 +01:00
efi_reboot.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:50:42 +00:00
efi_smbios.c [smbios] Provide SMBIOS version number via smbios_version() 2013-03-20 00:12:30 +00:00
efi_snp.c [efi] Match behaviour of SnpDxe for truncated received packets 2017-09-06 23:56:22 +01:00
efi_snp_hii.c [efi] Install the HII config access protocol on a child of the SNP handle 2016-07-08 14:16:32 +01:00
efi_strings.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
efi_time.c [efi] Add EFI time source 2015-04-14 11:55:08 +01:00
efi_timer.c [time] Allow timer to be selected at runtime 2017-01-26 08:17:37 +00:00
efi_uaccess.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
efi_umalloc.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
efi_usb.c [usb] Allow USB endpoints to specify a reserved header length for refills 2016-01-19 00:01:11 +00:00
efi_utils.c [efi] Provide efi_devpath_len() 2015-09-13 12:54:31 +01:00
efi_watchdog.c [efi] Add missing "ULL" suffix on 64-bit constant 2015-08-03 13:05:21 +01:00
efi_wrap.c [efi] Improve efi_wrap debugging 2015-08-27 15:54:25 +01:00
efidrvprefix.c [efi] Move architecture-independent EFI prefixes to interface/efi 2016-03-17 14:51:14 +00:00
efiprefix.c [efi] Move architecture-independent EFI prefixes to interface/efi 2016-03-17 14:51:14 +00:00