diff --git a/asoc/codecs/wcd937x/wcd937x.c b/asoc/codecs/wcd937x/wcd937x.c index 24de137ad11f..a7b3a5a0e8d4 100644 --- a/asoc/codecs/wcd937x/wcd937x.c +++ b/asoc/codecs/wcd937x/wcd937x.c @@ -2961,6 +2961,8 @@ static void wcd937x_soc_codec_remove(struct snd_soc_component *component) wcd937x->register_notifier(wcd937x->handle, &wcd937x->nblock, false); + wcd937x_mbhc_deinit(component); + return; } diff --git a/asoc/codecs/wcd938x/wcd938x.c b/asoc/codecs/wcd938x/wcd938x.c index eae9dfb280b2..1a976b86007d 100644 --- a/asoc/codecs/wcd938x/wcd938x.c +++ b/asoc/codecs/wcd938x/wcd938x.c @@ -3961,6 +3961,7 @@ static void wcd938x_soc_codec_remove(struct snd_soc_component *component) wcd938x->register_notifier(wcd938x->handle, &wcd938x->nblock, false); + wcd938x_mbhc_deinit(component); } static int wcd938x_soc_codec_suspend(struct snd_soc_component *component)