All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>
To: Mark Brown <broonie@kernel.org>
Cc: "Cezary Rojewski" <cezary.rojewski@intel.com>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	alsa-devel@alsa-project.org,
	"Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>
Subject: [PATCH 2/7] ASoC: Intel: avs: Access path components under lock
Date: Fri, 19 May 2023 22:17:06 +0200	[thread overview]
Message-ID: <20230519201711.4073845-3-amadeuszx.slawinski@linux.intel.com> (raw)
In-Reply-To: <20230519201711.4073845-1-amadeuszx.slawinski@linux.intel.com>

Path and its components should be accessed under lock to prevent
problems with one thread modifying them while other tries to read.

Fixes: c8c960c10971 ("ASoC: Intel: avs: APL-based platforms support")
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
---
 sound/soc/intel/avs/apl.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sound/soc/intel/avs/apl.c b/sound/soc/intel/avs/apl.c
index 02683dce277a..1860099c782a 100644
--- a/sound/soc/intel/avs/apl.c
+++ b/sound/soc/intel/avs/apl.c
@@ -169,6 +169,7 @@ static bool apl_lp_streaming(struct avs_dev *adev)
 {
 	struct avs_path *path;
 
+	spin_lock(&adev->path_list_lock);
 	/* Any gateway without buffer allocated in LP area disqualifies D0IX. */
 	list_for_each_entry(path, &adev->path_list, node) {
 		struct avs_path_pipeline *ppl;
@@ -188,11 +189,14 @@ static bool apl_lp_streaming(struct avs_dev *adev)
 				if (cfg->copier.dma_type == INVALID_OBJECT_ID)
 					continue;
 
-				if (!mod->gtw_attrs.lp_buffer_alloc)
+				if (!mod->gtw_attrs.lp_buffer_alloc) {
+					spin_unlock(&adev->path_list_lock);
 					return false;
+				}
 			}
 		}
 	}
+	spin_unlock(&adev->path_list_lock);
 
 	return true;
 }
-- 
2.34.1


  parent reply	other threads:[~2023-05-19 12:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-19 20:17 [PATCH 0/7] ASoC: Intel: Fixes Amadeusz Sławiński
2023-05-19 20:17 ` [PATCH 1/7] ASoC: Intel: avs: Fix module lookup Amadeusz Sławiński
2023-05-19 20:17 ` Amadeusz Sławiński [this message]
2023-05-19 20:17 ` [PATCH 3/7] ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg Amadeusz Sławiński
2023-05-19 20:17 ` [PATCH 4/7] ASoC: Intel: avs: Fix declaration of enum avs_channel_config Amadeusz Sławiński
2023-05-19 20:17 ` [PATCH 5/7] ASoC: Intel: avs: Account for UID of ACPI device Amadeusz Sławiński
2023-05-19 20:17 ` [PATCH 6/7] ASoC: Intel: avs: Fix avs_path_module::instance_id size Amadeusz Sławiński
2023-05-19 20:17 ` [PATCH 7/7] ASoC: Intel: avs: Add missing checks on FE startup Amadeusz Sławiński
2023-05-22 15:01 ` [PATCH 0/7] ASoC: Intel: Fixes Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230519201711.4073845-3-amadeuszx.slawinski@linux.intel.com \
    --to=amadeuszx.slawinski@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=cezary.rojewski@intel.com \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.