Still no luck. I tested it together with the macronix patch and it
throws the same error.

[    0.936695] CPU 0 Unable to handle kernel paging request at virtual
address 0040000c, epc == 80064ff0, ra == 80066fd4
[    0.947583] Oops[#1]:
[    0.949918] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.96 #0
[    0.956087] $ 0   : 00000000 00000001 00400000 00000002
.....

Thanks for the suggestions.
Regards

El vie, 4 feb 2022 a las 23:50, Florian Fainelli
(<f.faine...@gmail.com>) escribió:
>
> scratch that, can you try this instead:
>
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index f75929783b94..f49ef76bc2b8 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -1651,6 +1651,9 @@ static int brcmnand_low_level_op(struct
> brcmnand_host *host,
>          struct brcmnand_controller *ctrl = host->ctrl;
>          u32 tmp;
>
> +       if (ctrl->nand_version < 0x0400)
> +               return -EOPNOTSUPP;
> +
>          tmp = data & LLOP_DATA_MASK;
>          switch (type) {
>          case LL_OP_CMD:
> @@ -1829,7 +1832,9 @@ static uint8_t brcmnand_read_byte(struct nand_chip
> *chip)
>                  } else {
>                          bool last = host->last_byte ==
>                                  ONFI_SUBFEATURE_PARAM_LEN - 1;
> -                       brcmnand_low_level_op(host, LL_OP_RD, 0, last);
> +                       ret = brcmnand_low_level_op(host, LL_OP_RD, 0,
> last);
> +                       if (ret == -EOPNOTSUPP)
> +                               return ret;
>                          ret = brcmnand_read_reg(ctrl,
> BRCMNAND_LL_RDATA) & 0xff;
>                  }
>          }
>
>
> --
> Florian

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to