Hi Piotr, Piotr Sroka <piotrs@xxxxxxxxxxx> wrote on Mon, 10 Feb 2020 10:55:26 +0100: There is a typo in the title (available). > Previously ecc_sector size was used for calculation but its value > was not yet known. Can we rework a little bit this? What about: The value of cdns_chip->sector_count is not known at the moment of the derivation of ecc_size, leading to a zero value. Fix this by assigning ecc_size later in the code. Also, I think it deserves a Fixes/Cc:stable tag! > > Signed-off-by: Piotr Sroka <piotrs@xxxxxxxxxxx> > --- > drivers/mtd/nand/raw/cadence-nand-controller.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/raw/cadence-nand-controller.c b/drivers/mtd/nand/raw/cadence-nand-controller.c > index 5063a8b493a4..2ebfd0934739 100644 > --- a/drivers/mtd/nand/raw/cadence-nand-controller.c > +++ b/drivers/mtd/nand/raw/cadence-nand-controller.c > @@ -2595,7 +2595,7 @@ int cadence_nand_attach_chip(struct nand_chip *chip) > { > struct cdns_nand_ctrl *cdns_ctrl = to_cdns_nand_ctrl(chip->controller); > struct cdns_nand_chip *cdns_chip = to_cdns_nand_chip(chip); > - u32 ecc_size = cdns_chip->sector_count * chip->ecc.bytes; > + u32 ecc_size; > struct mtd_info *mtd = nand_to_mtd(chip); > int ret; > > @@ -2634,6 +2634,7 @@ int cadence_nand_attach_chip(struct nand_chip *chip) > /* Error correction configuration. */ > cdns_chip->sector_size = chip->ecc.size; > cdns_chip->sector_count = mtd->writesize / cdns_chip->sector_size; > + ecc_size = cdns_chip->sector_count * chip->ecc.bytes; > > cdns_chip->avail_oob_size = mtd->oobsize - ecc_size; > Thanks, Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/