First 2 bytes are used in large-page nand.

Fixes: ef5eeea6e911 ("mtd: nand: brcm: switch to mtd_ooblayout_ops")
Cc: sta...@vger.kernel.org
Signed-off-by: Álvaro Fernández Rojas <nolt...@gmail.com>
---
 v3: invert patch order
 v2: extend original comment

 drivers/mtd/nand/raw/brcmnand/brcmnand.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c 
b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
index e4e3ceeac38f..1c1070111ebc 100644
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
@@ -1116,11 +1116,14 @@ static int brcmnand_hamming_ooblayout_free(struct 
mtd_info *mtd, int section,
                if (!section) {
                        /*
                         * Small-page NAND use byte 6 for BBI while large-page
-                        * NAND use byte 0.
+                        * NAND use bytes 0 and 1.
                         */
-                       if (cfg->page_size > 512)
-                               oobregion->offset++;
-                       oobregion->length--;
+                       if (cfg->page_size > 512) {
+                               oobregion->offset += 2;
+                               oobregion->length -= 2;
+                       } else {
+                               oobregion->length--;
+                       }
                }
        }
 
-- 
2.26.2

Reply via email to