diff options
Diffstat (limited to 'drivers/mtd/ubi/wl.c')
-rw-r--r-- | drivers/mtd/ubi/wl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index 0f3425dac910..20f491713145 100644 --- a/drivers/mtd/ubi/wl.c +++ b/drivers/mtd/ubi/wl.c | |||
@@ -1718,12 +1718,12 @@ int ubi_wl_flush(struct ubi_device *ubi, int vol_id, int lnum) | |||
1718 | vol_id, lnum, ubi->works_count); | 1718 | vol_id, lnum, ubi->works_count); |
1719 | 1719 | ||
1720 | while (found) { | 1720 | while (found) { |
1721 | struct ubi_work *wrk; | 1721 | struct ubi_work *wrk, *tmp; |
1722 | found = 0; | 1722 | found = 0; |
1723 | 1723 | ||
1724 | down_read(&ubi->work_sem); | 1724 | down_read(&ubi->work_sem); |
1725 | spin_lock(&ubi->wl_lock); | 1725 | spin_lock(&ubi->wl_lock); |
1726 | list_for_each_entry(wrk, &ubi->works, list) { | 1726 | list_for_each_entry_safe(wrk, tmp, &ubi->works, list) { |
1727 | if ((vol_id == UBI_ALL || wrk->vol_id == vol_id) && | 1727 | if ((vol_id == UBI_ALL || wrk->vol_id == vol_id) && |
1728 | (lnum == UBI_ALL || wrk->lnum == lnum)) { | 1728 | (lnum == UBI_ALL || wrk->lnum == lnum)) { |
1729 | list_del(&wrk->list); | 1729 | list_del(&wrk->list); |