diff options
| author | Chancel Liu <chancel.liu@nxp.com> | 2026-09-13 19:15:31 +0900 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-09-14 14:57:28 +0100 |
| commit | c5907dcc13ad09c577534ad4ecacce4ba482156e (patch) | |
| tree | 25034bb2a51c5020ab3e38a7a1a3769bcc0724d3 /tools/perf/scripts/python/bin | |
| parent | 115a5655bcbbcc79536c00fe07a5ffeffb3ac296 (diff) | |
ASoC: cs42l56: Fix beep input device leak on card re-bind
cs42l56 allocates its beep input device with devm_input_allocate_device()
from the ASoC component probe, but the associated devres cleanup is tied
to the underlying I2C device, while cs42l56_free_beep() on the component
remove path only clears the cs42l56->beep pointer.
The input device is only leaked when the sound card is unregistered and
re-registered while the I2C device stays bound. On that path the
component probe runs again and allocates and registers a new input
device every time, leaking the previous one and its sysfs/input node.
Allocate the beep device with input_allocate_device() and pair it with
the component lifecycle: input_free_device() on registration failure and
input_unregister_device() in cs42l56_free_beep().
Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Link: https://patch.msgid.link/20260913101531.2787654-7-chancel.liu@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions
