From: Rajesh Shah Earlier I reported that Matthew's acpiphp rewrite had problem in powering down slot on my i386 system. The following patch is needed to get the acpiphp rewrite properly powering down the slot. Signed-off-by: Dely Sy Signed-off-by: Andrew Morton --- 25-akpm/drivers/pci/hotplug/acpiphp_glue.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/pci/hotplug/acpiphp_glue.c~acpi-hotplug-fix-slot-power-down-problem-with-acpiphp drivers/pci/hotplug/acpiphp_glue.c --- 25/drivers/pci/hotplug/acpiphp_glue.c~acpi-hotplug-fix-slot-power-down-problem-with-acpiphp Fri Apr 8 17:30:19 2005 +++ 25-akpm/drivers/pci/hotplug/acpiphp_glue.c Fri Apr 8 17:30:19 2005 @@ -600,7 +600,7 @@ static int power_off_slot(struct acpiphp list_for_each (l, &slot->funcs) { func = list_entry(l, struct acpiphp_func, sibling); - if (func->pci_dev && (func->flags & FUNC_HAS_PS3)) { + if (func->flags & FUNC_HAS_PS3) { status = acpi_evaluate_object(func->handle, "_PS3", NULL, NULL); if (ACPI_FAILURE(status)) { warn("%s: _PS3 failed\n", __FUNCTION__); @@ -615,7 +615,7 @@ static int power_off_slot(struct acpiphp func = list_entry(l, struct acpiphp_func, sibling); /* We don't want to call _EJ0 on non-existing functions. */ - if (func->pci_dev && (func->flags & FUNC_HAS_EJ0)) { + if (func->flags & FUNC_HAS_EJ0) { /* _EJ0 method take one argument */ arg_list.count = 1; arg_list.pointer = &arg; _