grub-devel
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]