aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/ubi/wl.c
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2007-12-19 16:03:17 +0200
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2007-12-26 19:15:16 +0200
commit16f557ecbf96dd13d13788a6f62d4d97ae73b1f9 (patch)
treec4bf8b052b7d8e0fb968cf7a274da1db7dd7bf97 /drivers/mtd/ubi/wl.c
parentUBI: fix ubi_wl_flush (diff)
downloadlinux-dev-16f557ecbf96dd13d13788a6f62d4d97ae73b1f9.tar.xz
linux-dev-16f557ecbf96dd13d13788a6f62d4d97ae73b1f9.zip
UBI: fix comment
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to '')
-rw-r--r--drivers/mtd/ubi/wl.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c
index 8421c7a9a835..7d32f71d6f1e 100644
--- a/drivers/mtd/ubi/wl.c
+++ b/drivers/mtd/ubi/wl.c
@@ -259,7 +259,6 @@ static int do_work(struct ubi_device *ubi)
*/
down_read(&ubi->work_sem);
spin_lock(&ubi->wl_lock);
-
if (list_empty(&ubi->works)) {
spin_unlock(&ubi->wl_lock);
up_read(&ubi->work_sem);
@@ -268,6 +267,8 @@ static int do_work(struct ubi_device *ubi)
wrk = list_entry(ubi->works.next, struct ubi_work, list);
list_del(&wrk->list);
+ ubi->works_count -= 1;
+ ubi_assert(ubi->works_count >= 0);
spin_unlock(&ubi->wl_lock);
/*
@@ -278,12 +279,8 @@ static int do_work(struct ubi_device *ubi)
err = wrk->func(ubi, wrk, 0);
if (err)
ubi_err("work failed with error code %d", err);
-
- spin_lock(&ubi->wl_lock);
- ubi->works_count -= 1;
- ubi_assert(ubi->works_count >= 0);
- spin_unlock(&ubi->wl_lock);
up_read(&ubi->work_sem);
+
return err;
}