• Johan Hovold's avatar
    ASoC: codecs: wcd938x: fix missing mbhc init error handling · 7dfae263
    Johan Hovold authored
    MBHC initialisation can fail so add the missing error handling to avoid
    dereferencing an error pointer when later configuring the jack:
    
        Unable to handle kernel paging request at virtual address fffffffffffffff8
    
        pc : wcd_mbhc_start+0x28/0x380 [snd_soc_wcd_mbhc]
        lr : wcd938x_codec_set_jack+0x28/0x48 [snd_soc_wcd938x]
    
        Call trace:
         wcd_mbhc_start+0x28/0x380 [snd_soc_wcd_mbhc]
         wcd938x_codec_set_jack+0x28/0x48 [snd_soc_wcd938x]
         snd_soc_component_set_jack+0x28/0x8c [snd_soc_core]
         qcom_snd_wcd_jack_setup+0x7c/0x19c [snd_soc_qcom_common]
         sc8280xp_snd_init+0x20/0x2c [snd_soc_sc8280xp]
         snd_soc_link_init+0x28/0x90 [snd_soc_core]
         snd_soc_bind_card+0x628/0xbfc [snd_soc_core]
         snd_soc_register_card+0xec/0x104 [snd_soc_core]
         devm_snd_soc_register_card+0x4c/0xa4 [snd_soc_core]
         sc8280xp_platform_probe+0xf0/0x108 [snd_soc_sc8280xp]
    
    Fixes: bcee7ed0 ("ASoC: codecs: wcd938x: add Multi Button Headset Control support")
    Cc: stable@vger.kernel.org      # 5.15
    Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
    Link: https://lore.kernel.org/r/20230703124701.11734-1-johan+linaro@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    7dfae263
wcd938x.c 113 KB