MTD: OneNAND: Fix 2KiB pagesize handling at Samsung SoCs
PATCH 3/3 MTD: OneNAND: Fix 2KiB pagesize handling at Samsung SoCs
From: Kyungmin Park <[email protected]>
Wrong assumption bufferram can be switched between BufferRAM0 and BufferRAM1
Signed-off-by Kyungmin Park <[email protected]>
--- drivers/mtd/onenand/samsung.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
drivers/mtd/onenand/samsung.c +2 -3
@@ -570,13 +570,12 @@ static int s5pc110_read_bufferram(struct mtd_info *mtd, int area, unsigned char *buffer, int offset, size_t count) { struct onenand_chip *this = mtd->priv; -void __iomem *bufferram;void __iomem *p;void *buf = (void *) buffer;dma_addr_t dma_src, dma_dst;int err; - p = bufferram = this->base + area; + p = this->base + area;if (ONENAND_CURRENT_BUFFERRAM (this)) {if (area ==ONENAND_DATARAM ) p += this->writesize;
@@ -620,7 +619,7 @@ static int s5pc110_read_bufferram(struct mtd_info *mtd, int area, normal:if (count != mtd->writesize) {/* Copy the bufferram to memory to prevent unaligned access */ -memcpy (this->page_buf, bufferram, mtd->writesize); +memcpy (this->page_buf, p, mtd->writesize); p = this->page_buf + offset; }
Signature · 1 line
1.5.3.3