From: Yufen Yu Date: Mon, 24 May 2021 09:38:11 +0000 (-0400) Subject: ALSA: ac97: fix PM reference leak in ac97_bus_remove() X-Git-Tag: v4.19.198~91 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7c3a170279bf2cd870d30a97344e91db5dccf1d2;p=users%2Fdwmw2%2Flinux.git ALSA: ac97: fix PM reference leak in ac97_bus_remove() [ Upstream commit a38e93302ee25b2ca6f4ee76c6c974cf3637985e ] pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. Fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Reported-by: Hulk Robot Signed-off-by: Yufen Yu Link: https://lore.kernel.org/r/20210524093811.612302-1-yuyufen@huawei.com Signed-off-by: Takashi Iwai Signed-off-by: Sasha Levin --- diff --git a/sound/ac97/bus.c b/sound/ac97/bus.c index ca50ff4447964..d8b227e6d4cfd 100644 --- a/sound/ac97/bus.c +++ b/sound/ac97/bus.c @@ -523,7 +523,7 @@ static int ac97_bus_remove(struct device *dev) struct ac97_codec_driver *adrv = to_ac97_driver(dev->driver); int ret; - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) return ret;