Hi,
Modern Intel chipsets have multiple EHCI controllers but the EHCI code
will only detect the first one. I noticed this because on a test
laptop all external USB ports are connected to the second EHCI
controller so none of them would show up in grub.
The reason is that the PCI code will stop if the PCI iterator function
returns a nonzero value. Change the return value to zero on success so
that the PCI iterator continues with the next controller.
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
index d8ecf26..240c0d5 100644
--- a/grub-core/bus/usb/ehci.c
+++ b/grub-core/bus/usb/ehci.c
@@ -839,7 +839,7 @@ grub_ehci_pci_iter (grub_pci_device_t dev,
grub_dprintf ("ehci", "EHCI grub_ehci_pci_iter: CONFIG_FLAG: %08x\n",
grub_ehci_oper_read32 (e, GRUB_EHCI_CONFIG_FLAG));
- return 1;
+ return 0;
fail:
if (e)
_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel