On Wed, 26 Jun 2019 11:22:33 +0000 Naga Sureshkumar Relli <nagas...@xilinx.com> wrote:
> Hi Boris, > > > -----Original Message----- > > From: Boris Brezillon <boris.brezil...@collabora.com> > > Sent: Wednesday, June 26, 2019 12:18 PM > > To: Naga Sureshkumar Relli <nagas...@xilinx.com> > > Cc: miquel.ray...@bootlin.com; helmut.gro...@intenta.de; rich...@nod.at; > > dw...@infradead.org; computersforpe...@gmail.com; marek.va...@gmail.com; > > vigne...@ti.com; bbrezil...@kernel.org; yamada.masah...@socionext.com; > > linux- > > m...@lists.infradead.org; linux-kernel@vger.kernel.org > > Subject: Re: [LINUX PATCH v17 1/2] mtd: rawnand: nand_micron: Do not over > > write > > driver's read_page()/write_page() > > > > On Mon, 24 Jun 2019 22:46:29 -0600 > > Naga Sureshkumar Relli <naga.sureshkumar.re...@xilinx.com> wrote: > > > > > Add check before assigning chip->ecc.read_page() and > > > chip->ecc.write_page() > > > > > > Signed-off-by: Naga Sureshkumar Relli > > > <naga.sureshkumar.re...@xilinx.com> > > > --- > > > drivers/mtd/nand/raw/nand_micron.c | 7 +++++-- > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/mtd/nand/raw/nand_micron.c > > > b/drivers/mtd/nand/raw/nand_micron.c > > > index cbd4f09ac178..565f2696c747 100644 > > > --- a/drivers/mtd/nand/raw/nand_micron.c > > > +++ b/drivers/mtd/nand/raw/nand_micron.c > > > @@ -500,8 +500,11 @@ static int micron_nand_init(struct nand_chip *chip) > > > chip->ecc.size = 512; > > > chip->ecc.strength = chip->base.eccreq.strength; > > > chip->ecc.algo = NAND_ECC_BCH; > > > - chip->ecc.read_page = micron_nand_read_page_on_die_ecc; > > > - chip->ecc.write_page = micron_nand_write_page_on_die_ecc; > > > + if (!chip->ecc.read_page) > > > + chip->ecc.read_page = micron_nand_read_page_on_die_ecc; > > > + > > > + if (!chip->ecc.write_page) > > > + chip->ecc.write_page = > > > micron_nand_write_page_on_die_ecc; > > > > That's wrong, if you don't want on-die ECC to be used, simply don't set > > nand-ecc-mode to "on- > > die". > Ok. But if we want to use on-die ECC then you mean to say it is mandatory to > use micron_nand_read/write_page_on_die_ecc()? Absolutely, and if it doesn't work that means you driver does not implement raw accesses correctly, which means it's still buggy...