[PATCH] MTD NAND: OOB buffer offset fixups
In the case of data-pad-ecc-pad-data... layout the oob start position has to be sizeof(data) in nand_write_oob_syndrom(). In nand_fill_oob() we need to copy to buf + buffer offset instead of buf + write offset. Signed-off-by: Vitaly Wool <vwool@ru.mvista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
20acaa18d0
commit
96da96065b
1 changed files with 2 additions and 2 deletions
|
@ -1204,7 +1204,7 @@ static int nand_write_oob_syndrome(struct mtd_info *mtd,
|
|||
pos = steps * (eccsize + chunk);
|
||||
steps = 0;
|
||||
} else
|
||||
pos = eccsize + chunk;
|
||||
pos = eccsize;
|
||||
|
||||
chip->cmdfunc(mtd, NAND_CMD_SEQIN, pos, page);
|
||||
for (i = 0; i < steps; i++) {
|
||||
|
@ -1567,7 +1567,7 @@ static uint8_t *nand_fill_oob(struct nand_chip *chip, uint8_t *oob,
|
|||
bytes = min_t(size_t, len, free->length);
|
||||
boffs = free->offset;
|
||||
}
|
||||
memcpy(chip->oob_poi + woffs, oob, bytes);
|
||||
memcpy(chip->oob_poi + boffs, oob, bytes);
|
||||
oob += bytes;
|
||||
}
|
||||
return oob;
|
||||
|
|
Loading…
Reference in a new issue