ASoC: Merge fixes
authorMark Brown <broonie@kernel.org>
Wed, 29 Mar 2023 23:14:00 +0000 (00:14 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 29 Mar 2023 23:14:00 +0000 (00:14 +0100)
So they can be used as a basis for new work.

1  2 
sound/soc/codecs/lpass-rx-macro.c
sound/soc/codecs/lpass-tx-macro.c
sound/soc/codecs/lpass-wsa-macro.c
sound/soc/intel/boards/bytcr_rt5640.c
sound/soc/intel/boards/sof_sdw.c
sound/soc/soc-pcm.c
sound/soc/sof/ipc4-topology.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -2337,19 -1805,16 +2337,27 @@@ static int sof_ipc4_route_setup(struct 
        u32 header, extension;
        int ret;
  
 +      /* no route set up if chain DMA is used */
 +      if (src_pipeline->use_chain_dma || sink_pipeline->use_chain_dma) {
 +              if (!src_pipeline->use_chain_dma || !sink_pipeline->use_chain_dma) {
 +                      dev_err(sdev->dev,
 +                              "use_chain_dma must be set for both src %s and sink %s pipelines\n",
 +                              src_widget->widget->name, sink_widget->widget->name);
 +                      return -EINVAL;
 +              }
 +              return 0;
 +      }
 +
+       if (!src_fw_module || !sink_fw_module) {
+               /* The NULL module will print as "(efault)" */
+               dev_err(sdev->dev, "source %s or sink %s widget weren't set up properly\n",
+                       src_fw_module->man4_module_entry.name,
+                       sink_fw_module->man4_module_entry.name);
+               return -ENODEV;
+       }
        sroute->src_queue_id = sof_ipc4_get_queue_id(src_widget, sink_widget,
 -                                                   SOF_PIN_TYPE_SOURCE);
 +                                                   SOF_PIN_TYPE_OUTPUT);
        if (sroute->src_queue_id < 0) {
                dev_err(sdev->dev, "failed to get queue ID for source widget: %s\n",
                        src_widget->widget->name);