Patch "ASoC: SOF: debug: conditionally bump runtime_pm counter on exceptions" has been added to the 6.1-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: debug: conditionally bump runtime_pm counter on exceptions

to the 6.1-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-debug-conditionally-bump-runtime_pm-counter.patch
and it can be found in the queue-6.1 subdirectory.

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



commit 70effe0ccf9f4cef19fc3eaf4ae7a08a2aa3ff69
Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
Date:   Fri May 12 13:33:13 2023 +0300

    ASoC: SOF: debug: conditionally bump runtime_pm counter on exceptions
    
    [ Upstream commit 3de975862f985f1c9e225a0d13aa3d501373f7c3 ]
    
    When a firmware IPC error happens during a pm_runtime suspend, we
    ignore the error and suspend anyways. However, the code
    unconditionally increases the runtime_pm counter. This results in a
    confusing configuration where the code will suspend, resume but never
    suspend again due to the use of pm_runtime_get_noresume().
    
    The intent of the counter increase was to prevent entry in D3, but if
    that transition to D3 is already started it cannot be stopped. In
    addition, there's no point in that case in trying to prevent anything,
    the firmware error is handled and the next resume will re-initialize
    the firmware completely.
    
    This patch changes the logic to prevent suspend when the device is
    pm_runtime active and has a use_count > 0.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx
    Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxx
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxxxxxxxx
    Link: https://lore.kernel.org/r/20230512103315.8921-2-peter.ujfalusi@xxxxxxxxxxxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/sof/debug.c b/sound/soc/sof/debug.c
index ade0507328af4..5042312b1b98d 100644
--- a/sound/soc/sof/debug.c
+++ b/sound/soc/sof/debug.c
@@ -437,8 +437,8 @@ void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev, const char *msg)
 		/* should we prevent DSP entering D3 ? */
 		if (!sdev->ipc_dump_printed)
 			dev_info(sdev->dev,
-				 "preventing DSP entering D3 state to preserve context\n");
-		pm_runtime_get_noresume(sdev->dev);
+				 "Attempting to prevent DSP from entering D3 state to preserve context\n");
+		pm_runtime_get_if_in_use(sdev->dev);
 	}
 
 	/* dump vital information to the logs */



[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