[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
EHCI: don't stop after finding the first controller
From: |
Christer Weinigel |
Subject: |
EHCI: don't stop after finding the first controller |
Date: |
Thu, 31 May 2012 10:46:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
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)
- EHCI: don't stop after finding the first controller,
Christer Weinigel <=