projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
UBI: Fix PEB leak in wear_leveling_worker()
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
drivers
/
mtd
/
ubi
/
wl.c
diff --git
a/drivers/mtd/ubi/wl.c
b/drivers/mtd/ubi/wl.c
index
5df49d3
..
c95bfb1
100644
(file)
--- a/
drivers/mtd/ubi/wl.c
+++ b/
drivers/mtd/ubi/wl.c
@@
-1069,6
+1069,9
@@
static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
if (!(e2->ec - e1->ec >= UBI_WL_THRESHOLD)) {
dbg_wl("no WL needed: min used EC %d, max free EC %d",
e1->ec, e2->ec);
+
+ /* Give the unused PEB back */
+ wl_tree_add(e2, &ubi->free);
goto out_cancel;
}
self_check_in_wl_tree(ubi, e1, &ubi->used);