All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2] mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior
@ 2019-04-17  9:22 Gregory CLEMENT
  2019-04-17  9:36 ` Eugen.Hristev at microchip.com
  2019-04-27 14:46 ` [U-Boot] [U-Boot, " Tom Rini
  0 siblings, 2 replies; 3+ messages in thread
From: Gregory CLEMENT @ 2019-04-17  9:22 UTC (permalink / raw)
  To: u-boot

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>
---
Changelog:
v1 -> v2

 - Fix typos in the commit log
 - Improve wording as suggested by Miquel
 - Add Reviewed-by tag from Miquel

 drivers/mtd/nand/raw/nand_base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 6d2ff58d86..dc4576a3a1 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -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},
@@ -4341,7 +4341,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;
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH v2] mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior
  2019-04-17  9:22 [U-Boot] [PATCH v2] mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior Gregory CLEMENT
@ 2019-04-17  9:36 ` Eugen.Hristev at microchip.com
  2019-04-27 14:46 ` [U-Boot] [U-Boot, " Tom Rini
  1 sibling, 0 replies; 3+ messages in thread
From: Eugen.Hristev at microchip.com @ 2019-04-17  9:36 UTC (permalink / raw)
  To: u-boot



On 17.04.2019 12:22, Gregory CLEMENT wrote:

> 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 on sama5d3_xplained:
Tested-by: Eugen Hristev <eugen.hristev@microchip.com>

This fixes the issue which we found on this board:

NAND: BUG at drivers/mtd/nand/raw/nand_base.c:4361/nand_scan_tail()!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [U-Boot, v2] mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior
  2019-04-17  9:22 [U-Boot] [PATCH v2] mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior Gregory CLEMENT
  2019-04-17  9:36 ` Eugen.Hristev at microchip.com
@ 2019-04-27 14:46 ` Tom Rini
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2019-04-27 14:46 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 17, 2019 at 11:22:05AM +0200, Gregory CLEMENT wrote:

> 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>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190427/cd747698/attachment.sig>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-04-27 14:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-17  9:22 [U-Boot] [PATCH v2] mtd: nand: raw: Fix CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT behavior Gregory CLEMENT
2019-04-17  9:36 ` Eugen.Hristev at microchip.com
2019-04-27 14:46 ` [U-Boot] [U-Boot, " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.