On Wed, 2009-09-30 at 16:30 -0700, Yu, Fenghua wrote: > >On Wed, 2009-09-30 at 13:20 -0700, Yu, Fenghua wrote: > >> > >> Seems pci_resource_start is not set up yet when quirk_usb_handoff_ohci > >> is called. > > > >Is it possible to fix that, so that it _is_ set up when we start calling > >the PCI_FIXUP_HEADER quirks? > > > >Or do we need to introduce yet another type of PCI quirk.... or have USB > >do something all of its own. > > > >I also hear of people wanting to kill USB off even _earlier_, to work > >around yet more BIOS brokenness. > > What's base value in base = pci_ioremap_bar(pdev, 0)? > Pci_resource_start should be setup in pci_read_bases(). Could you > please dump res->start in pci_read_bases()? This res->start should > happen before quirk_usb_handoff_ohci(). But somehow res->start is not > setup when quirk_usb_handoff_ohci() is called. I think the problem is that the fixup routines are not being called before the quirk. Here is an instrumented output without the db8be50c commit: ACPI: PCI Root Bridge [L008] (0000:8c) pci_bus 0000:8c: pcibios_fixup_bus:500: pci 0000:8c:01.0: pcibios_fixup_device_resources:481: pci 0000:8c:01.0: pcibios_fixup_resources:466: pci 0000:8d:02.0: PME# supported from D0 D1 D2 D3hot pci 0000:8d:02.0: PME# disabled pci 0000:8d:02.1: PME# supported from D0 D1 D2 D3hot pci 0000:8d:02.1: PME# disabled pci 0000:8d:02.2: PME# supported from D0 D1 D2 D3hot pci 0000:8d:02.2: PME# disabled pci_bus 0000:8d: pcibios_fixup_bus:500: pci 0000:8c:01.0: pcibios_fixup_bridge_resources:488: pci 0000:8c:01.0: pcibios_fixup_resources:466: pci 0000:8d:01.0: pcibios_fixup_device_resources:481: pci 0000:8d:01.0: pcibios_fixup_resources:466: pci 0000:8d:01.1: pcibios_fixup_device_resources:481: pci 0000:8d:01.1: pcibios_fixup_resources:466: pci 0000:8d:02.0: pcibios_fixup_device_resources:481: pci 0000:8d:02.0: pcibios_fixup_resources:466: pci 0000:8d:02.1: pcibios_fixup_device_resources:481: pci 0000:8d:02.1: pcibios_fixup_resources:466: pci 0000:8d:02.2: pcibios_fixup_device_resources:481: pci 0000:8d:02.2: pcibios_fixup_resources:466: pci 0000:8d:03.0: pcibios_fixup_device_resources:481: pci 0000:8d:03.0: pcibios_fixup_resources:466: . . . io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered pci 0000:8d:02.0: quirk_usb_handoff_ohci:179: quirk_usb_handoff_ohci:185 quirk_usb_handoff_ohci:187: base = 0x4130000 pci 0000:8d:02.1: quirk_usb_handoff_ohci:179: quirk_usb_handoff_ohci:185 quirk_usb_handoff_ohci:187: base = 0x4131000 and here is one with the commit: ACPI: PCI Root Bridge [L008] (0000:8c) pci_bus 0000:8c: pcibios_fixup_bus:500: pci 0000:8c:01.0: pcibios_fixup_device_resources:481: pci 0000:8c:01.0: pcibios_fixup_resources:466: pci 0000:8d:02.0: quirk_usb_handoff_ohci:179: quirk_usb_handoff_ohci:185 quirk_usb_handoff_ohci:187: base = 0x84130000 MCA event occurred .... Note that pci_fixup_bus has not been called on bus 0000:8d. Andrew > > Thanks. > > -Fenghua > -- Andrew Patterson Hewlett-Packard -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html