mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior
The purpose of "mtd: nand: raw: allow to disable unneeded ECC layouts"
was to allow disabling the default ECC layouts if a driver is known to
provide its own ECC layout. However, this commit did the opposite and
disabled the default layout when it was _not_ selected.
It breaks all the NAND drivers not providing their own ECC layout this
patch fix this situation.
It was tested with the lpc32xx_nand_slc driver.
Fixes: a38c3af868
("mtd: nand: raw: allow to disable unneeded ECC layouts")
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Tested-by: Eugen Hristev <eugen.hristev@microchip.com>
This commit is contained in:
parent
e9cde87ec1
commit
5f626e7849
1 changed files with 2 additions and 2 deletions
|
@ -47,7 +47,7 @@
|
|||
#include <linux/errno.h>
|
||||
|
||||
/* Define default oob placement schemes for large and small page devices */
|
||||
#ifdef CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
|
||||
#ifndef CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
|
||||
static struct nand_ecclayout nand_oob_8 = {
|
||||
.eccbytes = 3,
|
||||
.eccpos = {0, 1, 2},
|
||||
|
@ -5034,7 +5034,7 @@ int nand_scan_tail(struct mtd_info *mtd)
|
|||
*/
|
||||
if (!ecc->layout && (ecc->mode != NAND_ECC_SOFT_BCH)) {
|
||||
switch (mtd->oobsize) {
|
||||
#ifdef CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
|
||||
#ifndef CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT
|
||||
case 8:
|
||||
ecc->layout = &nand_oob_8;
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue