Re: [PATCH] ACPI: battery: use cache_time as cache "enabled"

From: Rafael J. Wysocki
Date: Thu Jul 19 2018 - 06:56:52 EST


On Sunday, July 15, 2018 12:38:29 AM CEST Lucas Magasweran wrote:
> From: Lucas Rangit Magasweran <lucas.magasweran@xxxxxxxx>
>
> When battery state is not cached the module parameter cache_time is 0
> and battery->update_time starts at 0. However, it set to jiffies in
> each call to acpi_battery_get_state() and should not be used to
> determine if a cache time is used.
>
> Using battery->update_time causes the evaluation of time_before()
> even though cache_time is 0.
>
> This is a minor issue as the behavior is still as expected.
> Even if kernel HZ was very slow and jiffies remained equal, the
> expected branch (false) would be taken because time_before() is
> used instead of time_before_eq().
>
> Signed-off-by: Lucas Rangit Magasweran <lucas.magasweran@xxxxxxxx>
> ---
> drivers/acpi/battery.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
> index d79ad84..f88bc9f 100644
> --- a/drivers/acpi/battery.c
> +++ b/drivers/acpi/battery.c
> @@ -549,7 +549,7 @@ static int acpi_battery_get_state(struct acpi_battery *battery)
> if (!acpi_battery_present(battery))
> return 0;
>
> - if (battery->update_time &&
> + if (cache_time &&
> time_before(jiffies, battery->update_time +
> msecs_to_jiffies(cache_time)))
> return 0;
>

Applied, thanks!