OneNAND: Write oob area with aligned size, mtd->oobsize
There's some problem with write oob in serveral platform. So we write oob with oobsize aligned (16bytes) instead of 3 bytes (from {2, 3}) Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
This commit is contained in:
parent
8e6ec69059
commit
34c1060959
|
@ -965,8 +965,11 @@ static int onenand_write_oob(struct mtd_info *mtd, loff_t to, size_t len,
|
||||||
|
|
||||||
this->command(mtd, ONENAND_CMD_BUFFERRAM, to, mtd->oobsize);
|
this->command(mtd, ONENAND_CMD_BUFFERRAM, to, mtd->oobsize);
|
||||||
|
|
||||||
this->write_bufferram(mtd, ONENAND_SPARERAM, ffchars, 0, mtd->oobsize);
|
/* We send data to spare ram with oobsize
|
||||||
this->write_bufferram(mtd, ONENAND_SPARERAM, buf, column, thislen);
|
* to prevent byte access */
|
||||||
|
memset(this->page_buf, 0xff, mtd->oobsize);
|
||||||
|
memcpy(this->page_buf + column, buf, thislen);
|
||||||
|
this->write_bufferram(mtd, ONENAND_SPARERAM, this->page_buf, 0, mtd->oobsize);
|
||||||
|
|
||||||
this->command(mtd, ONENAND_CMD_PROGOOB, to, mtd->oobsize);
|
this->command(mtd, ONENAND_CMD_PROGOOB, to, mtd->oobsize);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue