[PATCH] UBI: Fix livelock in produce_free_peb()

Artem Bityutskiy dedekind1 at gmail.com
Wed Sep 24 05:36:45 PDT 2014


On Fri, 2014-09-19 at 17:37 +0200, Richard Weinberger wrote:
> The while loop in produce_free_peb() assumes that each work will produce a
> free PEB. This is not true.
> If ubi->works_count is 1 and the only scheduled work is the
> wear_leveling_worker() produce_free_peb() can loop forever in case
> nobody schedules an erase work.
> Fix this issue by checking in the while loop whether work is scheduled.
> 
> Signed-off-by: Richard Weinberger <richard at nod.at>

Pushed, thanks!

-- 
Best Regards,
Artem Bityutskiy




More information about the linux-mtd mailing list