summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2018-02-08 07:29:52 +0100
committerHeiko Schocher <hs@denx.de>2018-02-19 08:22:58 +0100
commitf82290afc84716a16a8e300d5d17702858ba84ea (patch)
treea29f2e01e2a019d4e489b18b4188b5cf91d80d10 /include
parent02b0895c215e252cff50d9edf53a972d2bbbfd30 (diff)
mtd: ubi: Fix worker handling
Fixes a bug found on thuban boards, which were for 2 years in a long-term test with varying temperatures. They showed problems in u-boot when attaching the ubi partition: U-Boot# run flash_self_test Booting from nand set A... UBI: attaching mtd1 to ubi0 UBI: scanning is finished data abort pc : [<87f97c3c>] lr : [<87f97c28>] reloc pc : [<8012cc3c>] lr : [<8012cc28>] sp : 85f686e8 ip : 00000020 fp : 000001f7 r10: 8605ce40 r9 : 85f68ef8 r8 : 0001f000 r7 : 00000001 r6 : 00000006 r5 : 0001f000 r4 : 85f6ecc0 r3 : 00000000 r2 : 44e35000 r1 : 87fcbcd4 r0 : 87fc755b Flags: nZCv IRQs off FIQs on Mode SVC_32 Resetting CPU ... Reason is, that accidentially the U-Boot implementation from __schedule_ubi_work() did not check the flag ubi->thread_enabled and started with wearleveling work, but ubi did not have setup all structures at this point and crashes. Solve this problem by splitting work scheduling and processing. Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions