summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorKyungmin Park2007-02-02 01:22:21 +0100
committerKyungmin Park2007-02-02 01:22:21 +0100
commit4f4fad27aceb87621d40f3068b94b5b11fc0127b (patch)
tree189c472ae97b7e4da98e7eb114a8cd0a6b4925a5 /drivers/mtd
parent[MTD] OneNAND: Add support for auto-placement of out-of-band data (diff)
downloadkernel-qcow2-linux-4f4fad27aceb87621d40f3068b94b5b11fc0127b.tar.gz
kernel-qcow2-linux-4f4fad27aceb87621d40f3068b94b5b11fc0127b.tar.xz
kernel-qcow2-linux-4f4fad27aceb87621d40f3068b94b5b11fc0127b.zip
[MTD] OneNAND: Remove line of code that was meant to be deleted in OOB_AUTO
- Iterations of the patch to add oob auto-placement support to OneNAND left a line of code that was meant to have been deleted. - read mtd->oobsize in onenand_transfer_auto_oob to optimized memcpy Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/onenand/onenand_base.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 67efbc70019e..eb94d9496446 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -810,8 +810,7 @@ static int onenand_transfer_auto_oob(struct mtd_info *mtd, uint8_t *buf, int col
readend += free->offset - lastgap;
lastgap = free->offset + free->length;
}
- this->read_bufferram(mtd, ONENAND_SPARERAM, oob_buf + readcol,
- readcol, readend - readcol);
+ this->read_bufferram(mtd, ONENAND_SPARERAM, oob_buf, 0, mtd->oobsize);
for (free = this->ecclayout->oobfree; free->length; ++free) {
int free_end = free->offset + free->length;
if (free->offset < readend && free_end > readcol) {
@@ -926,13 +925,12 @@ out:
static int onenand_read_oob(struct mtd_info *mtd, loff_t from,
struct mtd_oob_ops *ops)
{
- switch (ops->mode)
- {
+ switch (ops->mode) {
case MTD_OOB_PLACE:
case MTD_OOB_AUTO:
break;
case MTD_OOB_RAW:
- return -EINVAL; /* Not implemented yet */
+ /* Not implemented yet */
default:
return -EINVAL;
}
@@ -1143,7 +1141,6 @@ static int onenand_fill_auto_oob(struct mtd_info *mtd, u_char *oob_buf,
writeend += free->offset - lastgap;
lastgap = free->offset + free->length;
}
- writeend = mtd->oobsize;
for (free = this->ecclayout->oobfree; free->length; ++free) {
int free_end = free->offset + free->length;
if (free->offset < writeend && free_end > writecol) {
@@ -1264,13 +1261,12 @@ out:
static int onenand_write_oob(struct mtd_info *mtd, loff_t to,
struct mtd_oob_ops *ops)
{
- switch (ops->mode)
- {
+ switch (ops->mode) {
case MTD_OOB_PLACE:
case MTD_OOB_AUTO:
break;
case MTD_OOB_RAW:
- return -EINVAL; /* Not implemented yet */
+ /* Not implemented yet */
default:
return -EINVAL;
}