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