~roguescholar/ipxe/trunk

Viewing all changes in revision 5790.

  • Committer: Michael Brown
  • Date: 2020-11-30 19:34:57 UTC
  • Revision ID: git-v1:63625b43e9009833183f1921ed3753ba35d9261f
[efi] Allow vetoing of drivers that cannot be unloaded

Some UEFI drivers (observed with the "Usb Xhci Driver" on an HP
EliteBook) are particularly badly behaved: they cannot be unloaded and
will leave handles opened with BY_DRIVER attributes even after
disconnecting the driver, thereby preventing a replacement iPXE driver
from opening the handle.

Allow such drivers to be vetoed by falling back to a brute-force
mechanism that will disconnect the driver from all handles, uninstall
the driver binding protocol (to prevent it from attaching to any new
handles), and finally close any stray handles that the vetoed driver
has left open.

Signed-off-by: Michael Brown <mcb30@ipxe.org>

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: