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 6155eeb2e89a..2b6c21d86b98 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
| @@ -1434,6 +1434,7 @@ EXPORT_SYMBOL(acpi_bus_add); | |||
| 1434 | int acpi_bus_start(struct acpi_device *device) | 1434 | int acpi_bus_start(struct acpi_device *device) |
| 1435 | { | 1435 | { |
| 1436 | struct acpi_bus_ops ops; | 1436 | struct acpi_bus_ops ops; |
| 1437 | int result; | ||
| 1437 | 1438 | ||
| 1438 | if (!device) | 1439 | if (!device) |
| 1439 | return -EINVAL; | 1440 | return -EINVAL; |
| @@ -1441,7 +1442,11 @@ int acpi_bus_start(struct acpi_device *device) | |||
| 1441 | memset(&ops, 0, sizeof(ops)); | 1442 | memset(&ops, 0, sizeof(ops)); |
| 1442 | ops.acpi_op_start = 1; | 1443 | ops.acpi_op_start = 1; |
| 1443 | 1444 | ||
| 1444 | return acpi_bus_scan(device->handle, &ops, NULL); | 1445 | result = acpi_bus_scan(device->handle, &ops, NULL); |
| 1446 | |||
| 1447 | acpi_update_gpes(); | ||
| 1448 | |||
| 1449 | return result; | ||
| 1445 | } | 1450 | } |
| 1446 | EXPORT_SYMBOL(acpi_bus_start); | 1451 | EXPORT_SYMBOL(acpi_bus_start); |
| 1447 | 1452 | ||
| @@ -1555,6 +1560,8 @@ int __init acpi_scan_init(void) | |||
| 1555 | 1560 | ||
| 1556 | if (result) | 1561 | if (result) |
| 1557 | acpi_device_unregister(acpi_root, ACPI_BUS_REMOVAL_NORMAL); | 1562 | acpi_device_unregister(acpi_root, ACPI_BUS_REMOVAL_NORMAL); |
| 1563 | else | ||
| 1564 | acpi_update_gpes(); | ||
| 1558 | 1565 | ||
| 1559 | return result; | 1566 | return result; |
| 1560 | } | 1567 | } |
