[U-Boot] UBI: regression since "mtd: ubi: Fix worker handling"
Richard Weinberger
richard at nod.at
Mon May 21 19:31:55 UTC 2018
Patrice,
Am Montag, 21. Mai 2018, 16:07:41 CEST schrieb Richard Weinberger:
> > e->pnum = aeb->pnum;
> > e->ec = aeb->ec;
> > ubi->lookuptbl[e->pnum] = e;
> > + ubi->thread_enabled = 1;
>
> This is not correct. At this point the UBI thread is not ready.
> I know, I know, U-Boot has no threads but some data structures might
> not be ready.
>
> Let me think how to work around this properly.
The root cause seems to be that U-Boot misses this fix from Linux:
commit 1cb8f9776c7dcadc57885c6653943511d282633b
Author: Richard Weinberger <richard at nod.at>
Date: Tue Aug 11 23:27:44 2015 +0200
ubi: fastmap: Implement produce_free_peb()
If fastmap requests a free PEB for a pool and UBI is busy
with erasing PEBs we need to offer a function to wait for one.
We can reuse produce_free_peb() from the non-fastmap WL code
but with different locking semantics.
Cc: stable at vger.kernel.org # 4.1.x-
Reported-and-tested-by: Jörg Krause <joerg.krause at embedded.rocks>
Signed-off-by: Richard Weinberger <richard at nod.at
Heiko, I'm currently working on Fastmap in Linux[0].
I suggest to re-syncing with Linux if my changes go upstream, I can ping you them. :-)
Fastmap gained many improvements since the last sync.
Thanks,
//richard
[0] http://lists.infradead.org/pipermail/linux-mtd/2018-May/080965.html
More information about the U-Boot
mailing list