Messages in this thread | | | Date | Thu, 6 Jul 2023 12:09:34 +0100 | Subject | Re: [PATCH 5/8] ASoC: codecs: wcd934x: fix resource leaks on component remove | From | Srinivas Kandagatla <> |
| |
On 05/07/2023 13:30, Johan Hovold wrote: > Make sure to release allocated MBHC resources also on component remove. > > This is specifically needed to allow probe deferrals of the sound card > which otherwise fails when reprobing the codec component. > > Fixes: 9fb9b1690f0b ("ASoC: codecs: wcd934x: add mbhc support") > Cc: stable@vger.kernel.org # 5.14 > Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > ---
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> sound/soc/codecs/wcd934x.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/sound/soc/codecs/wcd934x.c b/sound/soc/codecs/wcd934x.c > index a17cd75b969b..1b6e376f3833 100644 > --- a/sound/soc/codecs/wcd934x.c > +++ b/sound/soc/codecs/wcd934x.c > @@ -3044,6 +3044,17 @@ static int wcd934x_mbhc_init(struct snd_soc_component *component) > > return 0; > } > + > +static void wcd934x_mbhc_deinit(struct snd_soc_component *component) > +{ > + struct wcd934x_codec *wcd = snd_soc_component_get_drvdata(component); > + > + if (!wcd->mbhc) > + return; > + > + wcd_mbhc_deinit(wcd->mbhc); > +} > + > static int wcd934x_comp_probe(struct snd_soc_component *component) > { > struct wcd934x_codec *wcd = dev_get_drvdata(component->dev); > @@ -3077,6 +3088,7 @@ static void wcd934x_comp_remove(struct snd_soc_component *comp) > { > struct wcd934x_codec *wcd = dev_get_drvdata(comp->dev); > > + wcd934x_mbhc_deinit(comp); > wcd_clsh_ctrl_free(wcd->clsh_ctrl); > } >
| |