2010-12-18 12:30:50

by Rafael J. Wysocki

[permalink] [raw]
Subject: [Resend][PATCH] PCI / Hotplug: Fix unexpected driver unregister in pciehp_acpi.c

From: Rafael J. Wysocki <[email protected]>

If pcie_ports_disabled is set, pcie_port_service_register() returns
error code and select_detection_mode() should not attempt to
unregister dummy_driver and use dummy_slots. It should return
PCIEHP_DETECT_ACPI immediately instead.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---

Hi Jesse,

I'm not sure if you've got this patch. It fixes a problem introduced in the
2.6.37 merge window, so I guess it should be merged before 2.6.37 final.

Details in https://bugzilla.kernel.org/show_bug.cgi?id=20232#c23 .

Thanks,
Rafael

---
drivers/pci/hotplug/pciehp_acpi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6/drivers/pci/hotplug/pciehp_acpi.c
===================================================================
--- linux-2.6.orig/drivers/pci/hotplug/pciehp_acpi.c
+++ linux-2.6/drivers/pci/hotplug/pciehp_acpi.c
@@ -115,7 +115,8 @@ static struct pcie_port_service_driver _
static int __init select_detection_mode(void)
{
struct dummy_slot *slot, *tmp;
- pcie_port_service_register(&dummy_driver);
+ if (pcie_port_service_register(&dummy_driver))
+ return PCIEHP_DETECT_ACPI;
pcie_port_service_unregister(&dummy_driver);
list_for_each_entry_safe(slot, tmp, &dummy_slots, list) {
list_del(&slot->list);


2010-12-20 00:30:22

by Kenji Kaneshige

[permalink] [raw]
Subject: Re: [Resend][PATCH] PCI / Hotplug: Fix unexpected driver unregister in pciehp_acpi.c

(2010/12/18 21:29), Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki<[email protected]>
>
> If pcie_ports_disabled is set, pcie_port_service_register() returns
> error code and select_detection_mode() should not attempt to
> unregister dummy_driver and use dummy_slots. It should return
> PCIEHP_DETECT_ACPI immediately instead.
>
> Signed-off-by: Rafael J. Wysocki<[email protected]>

Reviewed-by: Kenji Kaneshige <[email protected]>
Acked-by: Kenji Kaneshige <[email protected]>

2010-12-23 20:52:15

by Jesse Barnes

[permalink] [raw]
Subject: Re: [Resend][PATCH] PCI / Hotplug: Fix unexpected driver unregister in pciehp_acpi.c

On Mon, 20 Dec 2010 09:30:04 +0900
Kenji Kaneshige <[email protected]> wrote:

> (2010/12/18 21:29), Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki<[email protected]>
> >
> > If pcie_ports_disabled is set, pcie_port_service_register() returns
> > error code and select_detection_mode() should not attempt to
> > unregister dummy_driver and use dummy_slots. It should return
> > PCIEHP_DETECT_ACPI immediately instead.
> >
> > Signed-off-by: Rafael J. Wysocki<[email protected]>
>
> Reviewed-by: Kenji Kaneshige <[email protected]>
> Acked-by: Kenji Kaneshige <[email protected]>
>
>

Applied to my for-linus branch, thanks guys.

--
Jesse Barnes, Intel Open Source Technology Center