• Johan Hovold's avatar
    ASoC: codecs: wcd938x: fix resource leaks on component remove · a3406f87
    Johan Hovold authored
    Make sure to release allocated resources on component probe failure and
    on remove.
    
    This is specifically needed to allow probe deferrals of the sound card
    which otherwise fails when reprobing the codec component:
    
        snd-sc8280xp sound: ASoC: failed to instantiate card -517
        genirq: Flags mismatch irq 289. 00002001 (HPHR PDM WD INT) vs. 00002001 (HPHR PDM WD INT)
        wcd938x_codec audio-codec: Failed to request HPHR WD interrupt (-16)
        genirq: Flags mismatch irq 290. 00002001 (HPHL PDM WD INT) vs. 00002001 (HPHL PDM WD INT)
        wcd938x_codec audio-codec: Failed to request HPHL WD interrupt (-16)
        genirq: Flags mismatch irq 291. 00002001 (AUX PDM WD INT) vs. 00002001 (AUX PDM WD INT)
        wcd938x_codec audio-codec: Failed to request Aux WD interrupt (-16)
        genirq: Flags mismatch irq 292. 00002001 (mbhc sw intr) vs. 00002001 (mbhc sw intr)
        wcd938x_codec audio-codec: Failed to request mbhc interrupts -16
    
    Fixes: 8d78602a ("ASoC: codecs: wcd938x: add basic driver")
    Cc: stable@vger.kernel.org	# 5.14
    Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
    Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Link: https://lore.kernel.org/r/20230705123018.30903-5-johan+linaro@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    a3406f87
wcd938x.c 114 KB