40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: "Furtak, Pawel" <pawel.furtak@intel.com>
|
|
Date: Mon, 11 Mar 2019 05:11:03 -0800
|
|
Subject: [PATCH] ASoC: Intel: Skl: Virt: Fix logic of vbe_skl_pcm_close_all
|
|
|
|
Traversing through streams list should be protected against
|
|
element removal which is done by vbe_skl_pcm_close.
|
|
|
|
Change-Id: I5aecaf8b0b11cabd9184f53ffa89b260a6a3fe10
|
|
Tracked-On: OAM-76903
|
|
Signed-off-by: Pawel Furtak <pawel.furtak@intel.com>
|
|
Reviewed-by: Wojciech Jablonski <wojciech.jablonski@intel.com>
|
|
Tested-by: Wojciech Jablonski <wojciech.jablonski@intel.com>
|
|
---
|
|
sound/soc/intel/skylake/virtio/skl-virtio-be.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/sound/soc/intel/skylake/virtio/skl-virtio-be.c b/sound/soc/intel/skylake/virtio/skl-virtio-be.c
|
|
index faee11b064d8..7709299f8078 100644
|
|
--- a/sound/soc/intel/skylake/virtio/skl-virtio-be.c
|
|
+++ b/sound/soc/intel/skylake/virtio/skl-virtio-be.c
|
|
@@ -601,12 +601,12 @@ static int vbe_skl_pcm_prepare(struct skl *sdev, int vm_id,
|
|
void vbe_skl_pcm_close_all(struct snd_skl_vbe *vbe,
|
|
struct snd_skl_vbe_client *client)
|
|
{
|
|
- struct vbe_substream_info *info;
|
|
+ struct vbe_substream_info *info, *tmp;
|
|
struct vbe_ipc_msg msg;
|
|
int ret;
|
|
|
|
msg.rx_data = NULL;
|
|
- list_for_each_entry(info, &client->substr_info_list, list) {
|
|
+ list_for_each_entry_safe(info, tmp, &client->substr_info_list, list) {
|
|
ret = vbe_skl_pcm_close(vbe->sdev, 0, info, &msg);
|
|
if (ret < 0)
|
|
dev_err(vbe->dev,
|
|
--
|
|
https://clearlinux.org
|
|
|