From: Wei Yongjun Date: Mon, 29 Apr 2019 12:37:13 +0000 (+0000) Subject: ASoC: sprd: Fix to use list_for_each_entry_safe() when delete items X-Git-Tag: v5.2-rc1~117^2~10^2^2~33 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=81a812c98b6eda7e3101305d57354433e3edc541;p=linux.git ASoC: sprd: Fix to use list_for_each_entry_safe() when delete items 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 Reviewed-by: Baolin Wang Signed-off-by: Mark Brown --- 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);