From c6e3acd51f96c7b3222da5595fb66d24321beb79 Mon Sep 17 00:00:00 2001 From: Kyungmin Park Date: Fri, 12 May 2006 17:02:46 +0300 Subject: [PATCH] --- yaml --- r: 27759 b: refs/heads/master c: 34c1060959b61a5bb2e97a88411446028cebfa7c h: refs/heads/master i: 27757: da31df99252d7cdbb3146238781e582c9e9be455 27755: 23e79bc76b3bcea6ca24b34efe115cf083ab3843 27751: 2277e55d2a7f1b3ba5c84760ee8b0aa44391ffbf 27743: c8003697412a4a7bfb94946a2b2a591b38eafea2 v: v3 --- [refs] | 2 +- trunk/drivers/mtd/onenand/onenand_base.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5ede6a9dce6d..e049ac8c35b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8e6ec69059ba0eecbb2226d3d9e45c6efe6fb82b +refs/heads/master: 34c1060959b61a5bb2e97a88411446028cebfa7c diff --git a/trunk/drivers/mtd/onenand/onenand_base.c b/trunk/drivers/mtd/onenand/onenand_base.c index e342ba04118a..6b950ab8ea8d 100644 --- a/trunk/drivers/mtd/onenand/onenand_base.c +++ b/trunk/drivers/mtd/onenand/onenand_base.c @@ -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->write_bufferram(mtd, ONENAND_SPARERAM, ffchars, 0, mtd->oobsize); - this->write_bufferram(mtd, ONENAND_SPARERAM, buf, column, thislen); + /* We send data to spare ram with oobsize + * 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);