Merge tag 'asoc-fix-v5.5-rc6' into asoc-5.6
authorMark Brown <broonie@kernel.org>
Fri, 17 Jan 2020 15:38:56 +0000 (15:38 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 17 Jan 2020 15:38:56 +0000 (15:38 +0000)
ASoC: Fixes for v5.5

This is mostly driver specific fixes, plus an error handling fix
in the core.  There is a rather large diffstat for the stm32 SAI
driver, this is a very large but mostly mechanical update which
wraps every register access in the driver to allow a fix to the
locking which avoids circular locks, the active change is much
smaller and more reasonably sized.

1  2 
sound/soc/codecs/cros_ec_codec.c
sound/soc/codecs/hdac_hda.c
sound/soc/sof/intel/hda-codec.c
sound/soc/sof/intel/hda-loader.c
sound/soc/stm/stm32_adfsdm.c

Simple merge
Simple merge
index 5514e6191ba499cea91252fcb41ba6ead58fd33f,fbfa225d1c5afa905ced3138721575a92dc27567..78dfd5f5c034ad7ab083a9c15b7abd7558595465
@@@ -121,13 -125,19 +120,19 @@@ static int hda_codec_probe(struct snd_s
         * if common HDMI codec driver is not used, codec load
         * is skipped here and hdac_hdmi is used instead
         */
 -      if ((mach_params && mach_params->common_hdmi_codec_drv) ||
 +      if (hda_codec_use_common_hdmi ||
            (resp & 0xFFFF0000) != IDISP_VID_INTEL) {
                hdev->type = HDA_DEV_LEGACY;
-               hda_codec_load_module(&hda_priv->codec);
+               ret = hda_codec_load_module(&hda_priv->codec);
+               /*
+                * handle ret==0 (no driver bound) as an error, but pass
+                * other return codes without modification
+                */
+               if (ret == 0)
+                       ret = -ENOENT;
        }
  
-       return 0;
+       return ret;
  #else
        hdev = devm_kzalloc(sdev->dev, sizeof(*hdev), GFP_KERNEL);
        if (!hdev)
Simple merge
Simple merge