ath79: image: fix initramfs for safeloader devices
[oweals/openwrt.git] / target / linux / bcm63xx / patches-5.4 / 020-v5.8-mtd-rawnand-brcmnand-fix-hamming-oob-layout.patch
1 From 130bbde4809b011faf64f99dddc14b4b01f440c3 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
3 Date: Tue, 12 May 2020 09:57:32 +0200
4 Subject: [PATCH] mtd: rawnand: brcmnand: fix hamming oob layout
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 First 2 bytes are used in large-page nand.
10
11 Fixes: ef5eeea6e911 ("mtd: nand: brcm: switch to mtd_ooblayout_ops")
12 Cc: stable@vger.kernel.org
13 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
14 Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
15 Link: https://lore.kernel.org/linux-mtd/20200512075733.745374-2-noltari@gmail.com
16 ---
17  drivers/mtd/nand/raw/brcmnand/brcmnand.c | 11 +++++++----
18  1 file changed, 7 insertions(+), 4 deletions(-)
19
20 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
21 +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
22 @@ -1019,11 +1019,14 @@ static int brcmnand_hamming_ooblayout_fr
23                 if (!section) {
24                         /*
25                          * Small-page NAND use byte 6 for BBI while large-page
26 -                        * NAND use byte 0.
27 +                        * NAND use bytes 0 and 1.
28                          */
29 -                       if (cfg->page_size > 512)
30 -                               oobregion->offset++;
31 -                       oobregion->length--;
32 +                       if (cfg->page_size > 512) {
33 +                               oobregion->offset += 2;
34 +                               oobregion->length -= 2;
35 +                       } else {
36 +                               oobregion->length--;
37 +                       }
38                 }
39         }
40