summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2024-09-17 12:39:14 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-12-05 14:02:29 +0100
commitf7f7f22dbb82133a3675ab946049f433106662c4 (patch)
tree70e77f3b57e01076830ff90eb2f507d6b47cb492 /drivers/power
parentd5d83242a1d778ceb6d8b07c6b491cf7483ca112 (diff)
downloadlinux-f7f7f22dbb82133a3675ab946049f433106662c4.tar.gz
linux-f7f7f22dbb82133a3675ab946049f433106662c4.tar.bz2
linux-f7f7f22dbb82133a3675ab946049f433106662c4.zip
power: supply: core: Remove might_sleep() from power_supply_put()
[ Upstream commit f6da4553ff24a5d1c959c9627c965323adc3d307 ] The put_device() call in power_supply_put() may call power_supply_dev_release(). The latter function does not sleep so power_supply_put() doesn't sleep either. Hence, remove the might_sleep() call from power_supply_put(). This patch suppresses false positive complaints about calling a sleeping function from atomic context if power_supply_put() is called from atomic context. Cc: Kyle Tso <kyletso@google.com> Cc: Krzysztof Kozlowski <krzk@kernel.org> Fixes: 1a352462b537 ("power_supply: Add power_supply_put for decrementing device reference counter") Signed-off-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240917193914.47566-1-bvanassche@acm.org Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/supply/power_supply_core.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 49534458a9f7..73cc9c236e83 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -484,8 +484,6 @@ EXPORT_SYMBOL_GPL(power_supply_get_by_name);
*/
void power_supply_put(struct power_supply *psy)
{
- might_sleep();
-
atomic_dec(&psy->use_cnt);
put_device(&psy->dev);
}