From: Luis Henriques Date: Mon, 11 May 2015 21:49:05 +0000 (+0100) Subject: ACPI / battery: ensure acpi_battery_init() has finish X-Git-Tag: v4.14-rc1~5225^2~11^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eca21d9167213bc9217450613a671553ab45c225;p=platform%2Fkernel%2Flinux-rpi.git ACPI / battery: ensure acpi_battery_init() has finish Make sure that async function scheduled with async_schedule() has already been executed. Signed-off-by: Luis Henriques Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 9c676a6..547e627 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -70,6 +70,7 @@ MODULE_AUTHOR("Alexey Starikovskiy "); MODULE_DESCRIPTION("ACPI Battery Driver"); MODULE_LICENSE("GPL"); +static async_cookie_t async_cookie; static int battery_bix_broken_package; static int battery_notification_delay_ms; static unsigned int cache_time = 1000; @@ -1313,12 +1314,13 @@ static int __init acpi_battery_init(void) if (acpi_disabled) return -ENODEV; - async_schedule(acpi_battery_init_async, NULL); + async_cookie = async_schedule(acpi_battery_init_async, NULL); return 0; } static void __exit acpi_battery_exit(void) { + async_synchronize_cookie(async_cookie); acpi_bus_unregister_driver(&acpi_battery_driver); #ifdef CONFIG_ACPI_PROCFS_POWER acpi_unlock_battery_dir(acpi_battery_dir);