Patch "ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work" has been added to the 5.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work

to the 5.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-sof-fix-a-runtime-pm-issue-in-sof-when-hdmi-cod.patch
and it can be found in the queue-5.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 7d489482ee2b04ce8ed2192f66389024fd520bbe
Author: Rander Wang <rander.wang@xxxxxxxxx>
Date:   Tue Aug 25 16:50:35 2020 -0700

    ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work
    
    [ Upstream commit 6c63c954e1c52f1262f986f36d95f557c6f8fa94 ]
    
    When hda_codec_probe() doesn't initialize audio component, we disable
    the codec and keep going. However,the resources are not released. The
    child_count of SOF device is increased in snd_hdac_ext_bus_device_init
    but is not decrease in error case, so SOF can't get suspended.
    
    snd_hdac_ext_bus_device_exit will be invoked in HDA framework if it
    gets a error. Now copy this behavior to release resources and decrease
    SOF device child_count to release SOF device.
    
    Signed-off-by: Rander Wang <rander.wang@xxxxxxxxx>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
    Reviewed-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx>
    Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@xxxxxxxxxxxxxxx>
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20200825235040.1586478-3-ranjani.sridharan@xxxxxxxxxxxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/sof/intel/hda-codec.c b/sound/soc/sof/intel/hda-codec.c
index 2c5c451fa19d7..c475955c6eeba 100644
--- a/sound/soc/sof/intel/hda-codec.c
+++ b/sound/soc/sof/intel/hda-codec.c
@@ -151,7 +151,7 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address,
 		if (!hdev->bus->audio_component) {
 			dev_dbg(sdev->dev,
 				"iDisp hw present but no driver\n");
-			return -ENOENT;
+			goto error;
 		}
 		hda_priv->need_display_power = true;
 	}
@@ -174,7 +174,7 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address,
 		 * other return codes without modification
 		 */
 		if (ret == 0)
-			ret = -ENOENT;
+			goto error;
 	}
 
 	return ret;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux