Kevin, I'm currently out of the office. I'll try your patch when I return on July 22nd.
Thanks, Dave Kevin O'Connor <[email protected]> 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 <[email protected]> >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 <[email protected]> > >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)))
_______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
