[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200310183149.18839-1-miquel.raynal@bootlin.com>
Date: Tue, 10 Mar 2020 19:31:49 +0100
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Schrempf Frieder <frieder.schrempf@...tron.de>,
Boris Brezillon <bbrezillon@...nel.org>,
Jeff Kletsky <git-commits@...ycomm.com>,
liaoweixiong <liaoweixiong@...winnertech.com>,
Miquel Raynal <miquel.raynal@...tlin.com>
Cc: Richard Weinberger <richard@....at>,
"linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>
Subject: Re: [PATCH v3 1/3] mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers
On Tue, 2020-02-18 at 10:05:14 UTC, Schrempf Frieder wrote:
> From: Frieder Schrempf <frieder.schrempf@...tron.de>
>
> For reading and writing the bad block markers, spinand->oobbuf is
> currently used as a buffer for the marker bytes. During the
> underlying read and write operations to actually get/set the content
> of the OOB area, the content of spinand->oobbuf is reused and changed
> by accessing it through spinand->oobbuf and/or spinand->databuf.
>
> This is a flaw in the original design of the SPI NAND core and at the
> latest from 13c15e07eedf ("mtd: spinand: Handle the case where
> PROGRAM LOAD does not reset the cache") on, it results in not having
> the bad block marker written at all, as the spinand->oobbuf is
> cleared to 0xff after setting the marker bytes to zero.
>
> To fix it, we now just store the two bytes for the marker on the
> stack and let the read/write operations copy it from/to the page
> buffer later.
>
> Fixes: 7529df465248 ("mtd: nand: Add core infrastructure to support SPI NANDs")
> Cc: stable@...r.kernel.org
> Signed-off-by: Frieder Schrempf <frieder.schrempf@...tron.de>
> Reviewed-by: Boris Brezillon <boris.brezillon@...labora.com>
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks.
Miquel
Powered by blists - more mailing lists