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: d7bff893e0 ("ASoC: sprd: Add Spreadtrum multi-channel data transfer support")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Wei Yongjun 2019-04-29 12:37:13 +00:00 committed by Mark Brown
parent 7c88b92816
commit 81a812c98b
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -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);