Signed-off-by: Andrew Morton --- drivers/pci/hotplug/acpiphp_glue.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) diff -puN drivers/pci/hotplug/acpiphp_glue.c~gregkh-pci-acpiphp-turn-off-slot-power-at-error-case drivers/pci/hotplug/acpiphp_glue.c --- devel/drivers/pci/hotplug/acpiphp_glue.c~gregkh-pci-acpiphp-turn-off-slot-power-at-error-case 2006-04-30 00:30:20.000000000 -0700 +++ devel-akpm/drivers/pci/hotplug/acpiphp_glue.c 2006-04-30 00:30:20.000000000 -0700 @@ -1654,9 +1654,15 @@ int acpiphp_enable_slot(struct acpiphp_s if (retval) goto err_exit; - if (get_slot_status(slot) == ACPI_STA_ALL) + if (get_slot_status(slot) == ACPI_STA_ALL) { /* configure all functions */ retval = enable_device(slot); + if (retval) + power_off_slot(slot); + } else { + dbg("%s: Slot status is not ACPI_STA_ALL\n", __FUNCTION__); + power_off_slot(slot); + } err_exit: mutex_unlock(&slot->crit_sect); _