Re: [BUG] WARN_ON(!context) in drivers/pci/hotplug/acpiphp_glue.c

Rafael J. Wysocki
2013-10-10T22:57:50Z

On Thursday, October 10, 2013 02:37:15 PM Linus Torvalds wrote:
> On Thu, Oct 10, 2013 at 2:35 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> >
> > Well, I must have overlooked the original report. Is it available anywhere
> > I can find it?
>
> I think Steven has some buggered email system, he has other emails
> being eaten by lkml too, and apparently other mail gateways (because
> you were direct-cc'd on the original).

Mailer issues aside, I've just seen the original (Bjorn forwarded it to me,
thanks!) and I'm wondering if the message added by the debug patch below is
triggered along with the WARN_ON(). If it is, I think it's better to drop
the WARN_ON(), at least for now (until we sort out the acpiphp/pciehp
coexistence).

Rafael

---
drivers/pci/hotplug/acpiphp_glue.c | 5 +++++
1 file changed, 5 insertions(+)

Index: linux-pm/drivers/pci/hotplug/acpiphp_glue.c
===================================================================
--- linux-pm.orig/drivers/pci/hotplug/acpiphp_glue.c
+++ linux-pm/drivers/pci/hotplug/acpiphp_glue.c
@@ -991,6 +991,11 @@ void acpiphp_enumerate_slots(struct pci_

if (!pci_is_root_bus(bridge->pci_bus)) {
struct acpiphp_context *context;
+ struct pci_dev *parent = bridge->pci_bus->parent->self;
+
+ if (parent && device_is_managed_by_native_pciehp(parent))
+ dev_warn(&bridge->pci_dev->dev,
+ "Parent is managed by pciehp!\n");

/*
* This bridge should have been registered as a hotplug function