Re: [PATCH] PCI: Remove not needed check in disable aspm link

From: Bjorn Helgaas
Date: Wed Jun 12 2013 - 13:05:32 EST


On Wed, Jun 12, 2013 at 12:20 AM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> On Tue, Apr 2, 2013 at 1:10 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>> On Mon, Apr 1, 2013 at 6:03 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>>>> commit 96e5d01cd536458435ef0678d9fa3dc542afb41f
>>>> Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>>>> Date: Mon Apr 1 15:47:39 2013 -0600
>>>>
>>>> Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
>>>>
>>>> This reverts commit 8c33f51df406e1a1f7fa4e9b244845b7ebd61fa6.
>>>>
>>>> Conflicts:
>>>> drivers/acpi/pci_root.c
>>>>
>>>> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=55211
>>>> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>>>
>>> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx>
>>>
>>> stable need this reverting too.
>>
>> I updated the changelog and added this to my for-linus branch, headed for v3.9.
>
> We may need to revert this reverting for 3.10.
>
> Today noticed that acpiphp jump in before pciehp on one setup.
>
> current code from acpi_pci_root_add we have
> 1. pci_acpi_scan_root
> ==> pci devices enumeration and bus scanning.
> ==> pci_alloc_child_bus
> ==> pcibios_add_bus
> ==> acpi_pci_add_bus
> ==> acpiphp_enumerate_slots
> ==> ...==> register_slot
> ==> device_is_managed_by_native_pciehp
> ==> check osc_set with
> OSC_PCI_EXPRESS_NATIVE_HP_CONTROL
> 2. _OSC set request
>
> so we always have acpiphp hotplug slot registered at first.
>
> so either we need to
> A. revert reverting about _OSC
> B. move pcibios_add_bus down to pci_bus_add_devices()
> as acpiphp and apci pci slot driver are some kind of drivers for pci_bus
> C. A+B

It doesn't surprise me at all that there are problems in the _OSC code
and the acpiphp/pciehp interaction. That whole area is a complete
disaster. It'd really be nice if somebody stepped up and reworked it
so it makes sense.

But this report is useless to me. I don't have time to work out what
the problem is and how it affects users and come up with a fix.

My advice is to simplify the path first, and worry about fixing the
bug afterwards. We've already done several iterations of fiddling
with things, and I think all we're doing is playing "whack-a-mole" and
pushing the bugs around from one place to another.

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/