]> www.infradead.org Git - users/jedix/linux-maple.git/commit
power: supply: qcom_battmgr: return EAGAIN when firmware service is not up
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 15 Jul 2024 12:57:06 +0000 (14:57 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Fri, 26 Jul 2024 22:17:31 +0000 (00:17 +0200)
commitbf9d5cb588755ee41ac12a8976dccf44ae18281b
tree0d7457e8bf33ec804f9fcfb173e8a0f300d437f6
parent81af7f2342d162e24ac820c10e68684d9f927663
power: supply: qcom_battmgr: return EAGAIN when firmware service is not up

The driver returns -ENODEV when the firmware battmrg service hasn't
started yet, while per-se -ENODEV is fine, we usually use -EAGAIN to
tell the user to retry again later. And the power supply core uses
-EGAIN when the device isn't initialized, let's use the same return.

This notably causes an infinite spam of:
thermal thermal_zoneXX: failed to read out thermal zone (-19)
because the thermal core doesn't understand -ENODEV, but only
considers -EAGAIN as a non-fatal error.

While it didn't appear until now, commit [1] fixes thermal core
and no more ignores thermal zones returning an error at first
temperature update.

[1] 5725f40698b9 ("thermal: core: Call monitor_thermal_zone() if zone temperature is invalid")

Link: https://lore.kernel.org/all/2ed4c630-204a-4f80-a37f-f2ca838eb455@linaro.org/
Cc: stable@vger.kernel.org
Fixes: 29e8142b5623 ("power: supply: Introduce Qualcomm PMIC GLINK power supply")
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Reviewed-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Link: https://lore.kernel.org/r/20240715-topic-sm8x50-upstream-fix-battmgr-temp-tz-warn-v1-1-16e842ccead7@linaro.org
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/qcom_battmgr.c