diff options
| author | Haotian Zhang <vulab@iscas.ac.cn> | 2026-10-09 02:14:59 +0800 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-15 22:45:29 +0100 |
| commit | f15b2df0b940cb2c01797f78791de3279d514086 (patch) | |
| tree | 9251c39e1502d08b4305ef3ac73734d322696eec /scripts/basic/split-include.c | |
| parent | cef5d087d6813d4c15847d0b71ecbd6c47c5f1d4 (diff) | |
| download | linux-f15b2df0b940cb2c01797f78791de3279d514086.tar.gz linux-f15b2df0b940cb2c01797f78791de3279d514086.zip | |
ASoC: rockchip: fix device node reference leak in rk3288_hdmi_analog
snd_rk_mc_probe() acquires references to the codec and CPU device nodes
with of_parse_phandle() and stores them in the static rk_dailink, but the
driver never calls of_node_put() on them. All error paths and the success
path simply return, and the driver has no remove callback, so the
references are leaked for the whole lifetime of the card and each failed
or repeated probe leaks another pair. The same pattern was fixed for the
sibling rockchip_rt5645.c driver.
Release the codec and CPU device nodes on every probe error path and in a
new remove callback, and also drop the extra reference placed in args.np
by of_parse_phandle_with_fixed_args().
Fixes: eaae2ea73593 ("ASoC: rockchip: Add machine driver for RK3288 boards that use analog/HDMI")
Assisted-by: DeepSeek-V4.1-Flash
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20261008181459.2762862-1-vulab@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions
