2015-05-11 21:49:13

by Luis Henriques

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
drivers/acpi/battery.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 9c676a6f32ce..547e627611e0 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -70,6 +70,7 @@ MODULE_AUTHOR("Alexey Starikovskiy <[email protected]>");
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);


2015-05-14 23:34:15

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] ACPI / battery: ensure acpi_battery_init() has finish

On Monday, May 11, 2015 10:49:05 PM Luis Henriques wrote:
> Make sure that async function scheduled with async_schedule() has already
> been executed.
>
> Signed-off-by: Luis Henriques <[email protected]>

Queued up for 4.2 (along with the other two battery patches of yours), thanks!

> ---
> drivers/acpi/battery.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
> index 9c676a6f32ce..547e627611e0 100644
> --- a/drivers/acpi/battery.c
> +++ b/drivers/acpi/battery.c
> @@ -70,6 +70,7 @@ MODULE_AUTHOR("Alexey Starikovskiy <[email protected]>");
> 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);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2015-05-15 23:09:47

by Luis Henriques

[permalink] [raw]
Subject: Re: [PATCH] ACPI / battery: ensure acpi_battery_init() has finish

On Fri, May 15, 2015 at 01:59:24AM +0200, Rafael J. Wysocki wrote:
> On Monday, May 11, 2015 10:49:05 PM Luis Henriques wrote:
> > Make sure that async function scheduled with async_schedule() has already
> > been executed.
> >
> > Signed-off-by: Luis Henriques <[email protected]>
>
> Queued up for 4.2 (along with the other two battery patches of yours), thanks!
>

Awesome, thanks!

Cheers,
--
Lu?s