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

From: Wei Yongjun
Date: Mon Apr 29 2019 - 08:27:27 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>
---
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 28f5e649733d..df250f7f2b6f 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);