[PATCH] acpiphp: turn off slot power at error case
When acpiphp_enable_slot() is failed, acpiphp does not change the slot->flags. Therefore, when user tries to read power status, acpiphp_get_power_status() returns the enable status whether the slot is not really enabled. This patch fixes this BUG. Signed-off-by: MUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
c14424736e
commit
cde0e5d722
@ -1592,9 +1592,15 @@ int acpiphp_enable_slot(struct acpiphp_slot *slot)
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user