summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorFrank Li <Frank.Li@freescale.com>2010-10-19 18:25:02 +0800
committerFrank Li <Frank.Li@freescale.com>2010-10-21 09:30:43 +0800
commit61c0d92ab072e92882d07d716bacf8468934f35e (patch)
tree7edd21376794d4473b12fbd71947ab34f93c2d9f /drivers
parent28cbcbf35b01b46f2eb3bc65e51fb3e4b171c66f (diff)
ENGR00132026 MTD: Fix MTD_MODE_RAW write fail
Kobs-ng use MTD_MODE_RAW write boot stream to NAND flash. mtdchar have not initilized all field of struct mtd_oob_ops in mtd_write when mode is MTD_MODE_RAW. function nand_do_write_ops if (ops->ooboffs && (ops->ooboffs + ops->ooblen > oobmaxlen)) return -EINVAL; ooboffs is not initilized at mtd_write. So random data cause nand_do_write_ops return fail. Signed-off-by: Frank Li <Frank.Li@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/mtdchar.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index 91c8013cf0d9..8bebfa55cd4a 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -304,6 +304,7 @@ static ssize_t mtd_write(struct file *file, const char __user *buf, size_t count
case MTD_MODE_RAW:
{
struct mtd_oob_ops ops;
+ memset(&ops, 0, sizeof(struct mtd_oob_ops));
ops.mode = MTD_OOB_RAW;
ops.datbuf = kbuf;