|
@@ -335,8 +335,10 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data,
|
|
|
|
|
|
slot = kzalloc(sizeof(struct acpiphp_slot), GFP_KERNEL);
|
|
|
if (!slot) {
|
|
|
- status = AE_NO_MEMORY;
|
|
|
- goto err;
|
|
|
+ mutex_lock(&acpiphp_context_lock);
|
|
|
+ acpiphp_put_context(context);
|
|
|
+ mutex_unlock(&acpiphp_context_lock);
|
|
|
+ return AE_NO_MEMORY;
|
|
|
}
|
|
|
|
|
|
slot->bus = bridge->pci_bus;
|
|
@@ -404,12 +406,6 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data,
|
|
|
}
|
|
|
|
|
|
return AE_OK;
|
|
|
-
|
|
|
- err:
|
|
|
- mutex_lock(&acpiphp_context_lock);
|
|
|
- acpiphp_put_context(context);
|
|
|
- mutex_unlock(&acpiphp_context_lock);
|
|
|
- return status;
|
|
|
}
|
|
|
|
|
|
static struct acpiphp_bridge *acpiphp_handle_to_bridge(acpi_handle handle)
|