svn commit: r355308 - head/stand/efi/libefi
Toomas Soome
tsoome at FreeBSD.org
Mon Dec 2 21:09:00 UTC 2019
Author: tsoome
Date: Mon Dec 2 21:08:59 2019
New Revision: 355308
URL: https://svnweb.freebsd.org/changeset/base/355308
Log:
loader.efi: fix cd boot for cisco C220M3
Reported by: Chris Ross
MFC after: 1w
Modified:
head/stand/efi/libefi/efipart.c
Modified: head/stand/efi/libefi/efipart.c
==============================================================================
--- head/stand/efi/libefi/efipart.c Mon Dec 2 21:03:09 2019 (r355307)
+++ head/stand/efi/libefi/efipart.c Mon Dec 2 21:08:59 2019 (r355308)
@@ -283,6 +283,16 @@ efipart_ignore_device(EFI_HANDLE h, EFI_BLOCK_IO *blki
* Therefore, if this node is USB, or this node is Unit (LUN) and
* direct parent is USB and we have no media, we will ignore this
* device.
+ *
+ * Variation of the same situation, but with SCSI devices:
+ * PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0)/USB(0x3,0x0)/SCSI(0x0,0x1)
+ * PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0)/USB(0x3,0x0)/SCSI(0x0,0x2)
+ * PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0)/USB(0x3,0x0)/SCSI(0x0,0x3)
+ * PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0)/USB(0x3,0x0)/SCSI(0x0,0x3)/CD..
+ * PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0)/USB(0x3,0x0)/SCSI(0x0,0x3)/CD..
+ * PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0)/USB(0x3,0x0)/SCSI(0x0,0x4)
+ *
+ * Here above the SCSI luns 1,2 and 4 have no media.
*/
/* Do not ignore device with media. */
@@ -321,6 +331,13 @@ efipart_ignore_device(EFI_HANDLE h, EFI_BLOCK_IO *blki
if (parent_is_usb &&
DevicePathType(node) == MESSAGING_DEVICE_PATH &&
DevicePathSubType(node) == MSG_DEVICE_LOGICAL_UNIT_DP) {
+ efi_close_devpath(h);
+ return (true);
+ }
+ /* no media, parent is USB and devicepath is SCSI. */
+ if (parent_is_usb &&
+ DevicePathType(node) == MESSAGING_DEVICE_PATH &&
+ DevicePathSubType(node) == MSG_SCSI_DP) {
efi_close_devpath(h);
return (true);
}
More information about the svn-src-head
mailing list