summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPengpeng Hou <pengpeng@iscas.ac.cn>2026-06-15 14:44:56 +0800
committerMark Brown <broonie@kernel.org>2026-06-29 18:28:47 +0100
commitce3733792d38ade8df8ce288a96ff0c6ad858bf3 (patch)
treee873f7fc3d82917af91b60751a82918eb3a8571c
parent6ed013a581d00f84bbd0c3c60f7a108bef93fc4e (diff)
downloadlinux-ce3733792d38ade8df8ce288a96ff0c6ad858bf3.tar.gz
linux-ce3733792d38ade8df8ce288a96ff0c6ad858bf3.zip
ASoC: sma1303: remove fault-check sysfs group on remove
sma1303_i2c_probe() creates a sysfs group that exposes the fault-check controls. The check_fault_status store callback can queue check_fault_work. sma1303_i2c_remove() only cancels the delayed work. It does not remove the sysfs group, so the controls can remain published after remove while their callbacks still use the driver data and can queue the work again. Remove the sysfs group before cancelling the delayed work. Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn> Link: https://patch.msgid.link/20260615064456.28615-1-pengpeng@iscas.ac.cn Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/sma1303.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/codecs/sma1303.c b/sound/soc/codecs/sma1303.c
index c7aaf98ef71e..38677badfc18 100644
--- a/sound/soc/codecs/sma1303.c
+++ b/sound/soc/codecs/sma1303.c
@@ -1778,6 +1778,8 @@ static void sma1303_i2c_remove(struct i2c_client *client)
struct sma1303_priv *sma1303 =
(struct sma1303_priv *) i2c_get_clientdata(client);
+ if (sma1303->attr_grp)
+ sysfs_remove_group(sma1303->kobj, sma1303->attr_grp);
cancel_delayed_work_sync(&sma1303->check_fault_work);
}