[SeaBIOS] Commit b98a4b1 prevents USB drives from being detected
Dave
dave.frodin at se-eng.com
Mon Jul 15 17:13:25 CEST 2013
Kevin,
I'm currently out of the office. I'll try your patch when I return on July 22nd.
Thanks,
Dave
Kevin O'Connor <kevin at koconnor.net> wrote:
>On Fri, Jul 12, 2013 at 03:22:43PM -0500, Dave Frodin wrote:
>
>> I'm using the current seabios (master or stable) as a payload for
>> coreboot. If I build the current seabios I've found that commit
>> b98a4b1 "Convert PCIDevices list to use standard list manipultion
>> code." prevents the system from finding USB thumbdrives. The USB
>> keyboard and mouse still work.
>
>Thanks. The PCI list changes broke the ordering of the PCIDevices
>list. Can you confirm the patch below fixes it for you?
>
>-Kevin
>
>
>commit 2a9aeabdfb34374ecac25e7a8d21c9e368618cd4
>Author: Kevin O'Connor <kevin at koconnor.net>
>Date: Sun Jul 14 13:55:52 2013 -0400
>
>Fix USB EHCI detection that was broken in hlist conversion of
>PCIDevices.
>
> Make sure the PCI device list is ordered in bus order.
>
> Don't iterate past the end of the list when detecting EHCI devices.
>
> Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
>
>diff --git a/src/pci.c b/src/pci.c
>index 6163a29..dc62c5c 100644
>--- a/src/pci.c
>+++ b/src/pci.c
>@@ -122,6 +122,7 @@ pci_probe_devices(void)
> }
> memset(dev, 0, sizeof(*dev));
> hlist_add(&dev->node, pprev);
>+ pprev = &dev->node.next;
> count++;
>
> // Find parent device.
>diff --git a/src/usb.c b/src/usb.c
>index ecccd75..42541ff 100644
>--- a/src/usb.c
>+++ b/src/usb.c
>@@ -444,7 +444,7 @@ usb_setup(void)
> }
> if (ehcipci->class == PCI_CLASS_SERIAL_USB)
> found++;
>- ehcipci = container_of(
>+ ehcipci = container_of_or_null(
> ehcipci->node.next, struct pci_device, node);
> if (!ehcipci || (pci_bdf_to_busdev(ehcipci->bdf)
> != pci_bdf_to_busdev(pci->bdf)))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.seabios.org/pipermail/seabios/attachments/20130715/f49fdc45/attachment.html>
More information about the SeaBIOS
mailing list