From 3ef9f445ddb1e061ce497f54ca75bbaec52a3a46 Mon Sep 17 00:00:00 2001 From: Charles Keepax Date: Fri, 2 Feb 2024 14:06:19 +0000 Subject: ASoC: cs42l43: Shut down jack detection on component remove Disable the jack detection and sync in any currently running work when the component is removed. Signed-off-by: Charles Keepax Link: https://lore.kernel.org/r/20240202140619.1068560-3-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown --- sound/soc/codecs/cs42l43.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sound/soc/codecs/cs42l43.c') diff --git a/sound/soc/codecs/cs42l43.c b/sound/soc/codecs/cs42l43.c index c84d5952cdb5..256767ef4c03 100644 --- a/sound/soc/codecs/cs42l43.c +++ b/sound/soc/codecs/cs42l43.c @@ -2115,6 +2115,13 @@ static void cs42l43_component_remove(struct snd_soc_component *component) { struct cs42l43_codec *priv = snd_soc_component_get_drvdata(component); + cs42l43_set_jack(priv->component, NULL, NULL); + + cancel_delayed_work_sync(&priv->bias_sense_timeout); + cancel_delayed_work_sync(&priv->tip_sense_work); + cancel_delayed_work_sync(&priv->button_press_work); + cancel_work_sync(&priv->button_release_work); + cancel_work_sync(&priv->hp_ilimit_work); cancel_delayed_work_sync(&priv->hp_ilimit_clear_work); -- cgit v1.2.3