diff options
-rw-r--r-- | drivers/pci/hotplug/acpiphp.h | 1 | ||||
-rw-r--r-- | drivers/pci/hotplug/acpiphp_core.c | 6 | ||||
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/drivers/pci/hotplug/acpiphp.h b/drivers/pci/hotplug/acpiphp.h index ddbadd95387e..f6cc0c5b5657 100644 --- a/drivers/pci/hotplug/acpiphp.h +++ b/drivers/pci/hotplug/acpiphp.h | |||
@@ -211,6 +211,7 @@ typedef int (*acpiphp_callback)(struct acpiphp_slot *slot, void *data); | |||
211 | 211 | ||
212 | extern int acpiphp_enable_slot (struct acpiphp_slot *slot); | 212 | extern int acpiphp_enable_slot (struct acpiphp_slot *slot); |
213 | extern int acpiphp_disable_slot (struct acpiphp_slot *slot); | 213 | extern int acpiphp_disable_slot (struct acpiphp_slot *slot); |
214 | extern int acpiphp_eject_slot (struct acpiphp_slot *slot); | ||
214 | extern u8 acpiphp_get_power_status (struct acpiphp_slot *slot); | 215 | extern u8 acpiphp_get_power_status (struct acpiphp_slot *slot); |
215 | extern u8 acpiphp_get_attention_status (struct acpiphp_slot *slot); | 216 | extern u8 acpiphp_get_attention_status (struct acpiphp_slot *slot); |
216 | extern u8 acpiphp_get_latch_status (struct acpiphp_slot *slot); | 217 | extern u8 acpiphp_get_latch_status (struct acpiphp_slot *slot); |
diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c index fa5c0197d571..a0ca63adad5a 100644 --- a/drivers/pci/hotplug/acpiphp_core.c +++ b/drivers/pci/hotplug/acpiphp_core.c | |||
@@ -156,11 +156,15 @@ static int enable_slot(struct hotplug_slot *hotplug_slot) | |||
156 | static int disable_slot(struct hotplug_slot *hotplug_slot) | 156 | static int disable_slot(struct hotplug_slot *hotplug_slot) |
157 | { | 157 | { |
158 | struct slot *slot = hotplug_slot->private; | 158 | struct slot *slot = hotplug_slot->private; |
159 | int retval; | ||
159 | 160 | ||
160 | dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name); | 161 | dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name); |
161 | 162 | ||
162 | /* disable the specified slot */ | 163 | /* disable the specified slot */ |
163 | return acpiphp_disable_slot(slot->acpi_slot); | 164 | retval = acpiphp_disable_slot(slot->acpi_slot); |
165 | if (!retval) | ||
166 | retval = acpiphp_eject_slot(slot->acpi_slot); | ||
167 | return retval; | ||
164 | } | 168 | } |
165 | 169 | ||
166 | 170 | ||
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index 9ef4e989afc4..3cc5a821f9c5 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c | |||
@@ -1282,7 +1282,7 @@ static unsigned int get_slot_status(struct acpiphp_slot *slot) | |||
1282 | /** | 1282 | /** |
1283 | * acpiphp_eject_slot - physically eject the slot | 1283 | * acpiphp_eject_slot - physically eject the slot |
1284 | */ | 1284 | */ |
1285 | static int acpiphp_eject_slot(struct acpiphp_slot *slot) | 1285 | int acpiphp_eject_slot(struct acpiphp_slot *slot) |
1286 | { | 1286 | { |
1287 | acpi_status status; | 1287 | acpi_status status; |
1288 | struct acpiphp_func *func; | 1288 | struct acpiphp_func *func; |