Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cde0e5d7 authored by MUNEDA Takahiro's avatar MUNEDA Takahiro Committed by Greg Kroah-Hartman
Browse files

[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: default avatarMUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c1442473
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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);