diff --git a/sound/soc/codecs/wm5102.c b/sound/soc/codecs/wm5102.c index 59fd3e8bf89929a4329f88c69d2f03e2102da1c4..1bae17ee88175ed2556cebe4bf3f554bf721acab 100644 --- a/sound/soc/codecs/wm5102.c +++ b/sound/soc/codecs/wm5102.c @@ -1955,11 +1955,14 @@ static int wm5102_codec_probe(struct snd_soc_codec *codec) static int wm5102_codec_remove(struct snd_soc_codec *codec) { struct wm5102_priv *priv = snd_soc_codec_get_drvdata(codec); + struct arizona *arizona = priv->core.arizona; wm_adsp2_codec_remove(&priv->core.adsp[0], codec); priv->core.arizona->dapm = NULL; + arizona_free_irq(arizona, ARIZONA_IRQ_DSP_IRQ1, priv); + arizona_free_spk(codec); return 0;