diff options
Diffstat (limited to 'drivers/acpi/scan.c')
-rw-r--r-- | drivers/acpi/scan.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index b23825ecfa37..f87f04603b68 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
@@ -1431,6 +1431,7 @@ EXPORT_SYMBOL(acpi_bus_add); | |||
1431 | int acpi_bus_start(struct acpi_device *device) | 1431 | int acpi_bus_start(struct acpi_device *device) |
1432 | { | 1432 | { |
1433 | struct acpi_bus_ops ops; | 1433 | struct acpi_bus_ops ops; |
1434 | int result; | ||
1434 | 1435 | ||
1435 | if (!device) | 1436 | if (!device) |
1436 | return -EINVAL; | 1437 | return -EINVAL; |
@@ -1438,7 +1439,11 @@ int acpi_bus_start(struct acpi_device *device) | |||
1438 | memset(&ops, 0, sizeof(ops)); | 1439 | memset(&ops, 0, sizeof(ops)); |
1439 | ops.acpi_op_start = 1; | 1440 | ops.acpi_op_start = 1; |
1440 | 1441 | ||
1441 | return acpi_bus_scan(device->handle, &ops, NULL); | 1442 | result = acpi_bus_scan(device->handle, &ops, NULL); |
1443 | |||
1444 | acpi_update_gpes(); | ||
1445 | |||
1446 | return result; | ||
1442 | } | 1447 | } |
1443 | EXPORT_SYMBOL(acpi_bus_start); | 1448 | EXPORT_SYMBOL(acpi_bus_start); |
1444 | 1449 | ||
@@ -1552,6 +1557,8 @@ int __init acpi_scan_init(void) | |||
1552 | 1557 | ||
1553 | if (result) | 1558 | if (result) |
1554 | acpi_device_unregister(acpi_root, ACPI_BUS_REMOVAL_NORMAL); | 1559 | acpi_device_unregister(acpi_root, ACPI_BUS_REMOVAL_NORMAL); |
1560 | else | ||
1561 | acpi_update_gpes(); | ||
1555 | 1562 | ||
1556 | return result; | 1563 | return result; |
1557 | } | 1564 | } |