Due to the recursive ubi_thread implementation in the barebox, a large amount of wear-leveling can lead to a stack overflow. This was observed during extensive ubi stress tests with the linux kernel and periodic power cycles. We found that if the wear-leveling threshold is exceeded and a large amount of erase blocks need wear-leveling the stack can overflow. The hardware used to observe this was a phyCORE-i.MX 6 with 1GB NAND flash. As the kernel is perfectly capable of handling wear-leveling we can increase the wear-leveling threshold in the barebox to leave it to the kernel. To minimize the chance of wear-leveling in the barebox max out the threshold. Signed-off-by: Stefan Riedmueller <s.riedmueller@xxxxxxxxx> --- drivers/mtd/ubi/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/ubi/Kconfig b/drivers/mtd/ubi/Kconfig index 9a344082b7bb..509a1f77ddcd 100644 --- a/drivers/mtd/ubi/Kconfig +++ b/drivers/mtd/ubi/Kconfig @@ -12,7 +12,7 @@ if MTD_UBI config MTD_UBI_WL_THRESHOLD int "UBI wear-leveling threshold" - default 4096 + default 65536 range 2 65536 help This parameter defines the maximum difference between the highest -- 2.7.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox