| From 4781d7a02f8a914a91e48885e256056be3fbc547 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 24 May 2021 05:38:11 -0400 |
| Subject: ALSA: ac97: fix PM reference leak in ac97_bus_remove() |
| |
| From: Yufen Yu <yuyufen@huawei.com> |
| |
| [ 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 <hulkci@huawei.com> |
| Signed-off-by: Yufen Yu <yuyufen@huawei.com> |
| Link: https://lore.kernel.org/r/20210524093811.612302-1-yuyufen@huawei.com |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/ac97/bus.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/sound/ac97/bus.c b/sound/ac97/bus.c |
| index d9077e91382b..6ddf646cda65 100644 |
| --- a/sound/ac97/bus.c |
| +++ b/sound/ac97/bus.c |
| @@ -520,7 +520,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; |
| |
| -- |
| 2.30.2 |
| |