[PATCH] ASoC: sprd: Fix to use list_for_each_entry_safe() when delete items

From: Wei Yongjun
Date: Mon Apr 29 2019 - 08:37:13 EST


Since we will remove items off the list using list_del() we need
to use a safe version of the list_for_each_entry() macro aptly named
list_for_each_entry_safe().

Fixes: d7bff893e04f ("ASoC: sprd: Add Spreadtrum multi-channel data transfer support")
Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
Reviewed-by: Baolin Wang <baolin.wang@xxxxxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
sound/soc/sprd/sprd-mcdt.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sprd/sprd-mcdt.c b/sound/soc/sprd/sprd-mcdt.c
index e9318d7a4810..7448015a4935 100644
--- a/sound/soc/sprd/sprd-mcdt.c
+++ b/sound/soc/sprd/sprd-mcdt.c
@@ -978,12 +978,12 @@ static int sprd_mcdt_probe(struct platform_device *pdev)

static int sprd_mcdt_remove(struct platform_device *pdev)
{
- struct sprd_mcdt_chan *temp;
+ struct sprd_mcdt_chan *chan, *temp;

mutex_lock(&sprd_mcdt_list_mutex);

- list_for_each_entry(temp, &sprd_mcdt_chan_list, list)
- list_del(&temp->list);
+ list_for_each_entry_safe(chan, temp, &sprd_mcdt_chan_list, list)
+ list_del(&chan->list);

mutex_unlock(&sprd_mcdt_list_mutex);

--
2.20.1