From d634851c1f36e7995726602d3af784478ccb472e Mon Sep 17 00:00:00 2001 From: Charles Manning Date: Thu, 30 Aug 2012 07:28:39 +1200 Subject: [PATCH] yaffs u-boot: Fix erase for inband tags. Yaffs u-boot with inband tags was not working properly. Fixed. Signed-off-by: Charles Manning --- direct/u-boot/fs/yaffs2/yaffs_mtdif.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/direct/u-boot/fs/yaffs2/yaffs_mtdif.c b/direct/u-boot/fs/yaffs2/yaffs_mtdif.c index db49052..b7ec909 100644 --- a/direct/u-boot/fs/yaffs2/yaffs_mtdif.c +++ b/direct/u-boot/fs/yaffs2/yaffs_mtdif.c @@ -66,7 +66,7 @@ int nandmtd_WriteChunkToNAND(struct yaffs_dev *dev, int chunkInNAND, struct mtd_oob_ops ops; size_t dummy; int retval = 0; - loff_t addr = ((loff_t) chunkInNAND) * dev->data_bytes_per_chunk; + loff_t addr = ((loff_t) chunkInNAND) * dev->param.total_bytes_per_chunk; u8 spareAsBytes[8]; /* OOB */ if (data && !spare) @@ -102,7 +102,7 @@ int nandmtd_ReadChunkFromNAND(struct yaffs_dev *dev, int chunkInNAND, u8 *data, size_t dummy; int retval = 0; - loff_t addr = ((loff_t) chunkInNAND) * dev->data_bytes_per_chunk; + loff_t addr = ((loff_t) chunkInNAND) * dev->param.total_bytes_per_chunk; u8 spareAsBytes[8]; /* OOB */ if (data && !spare) @@ -135,7 +135,7 @@ int nandmtd_EraseBlockInNAND(struct yaffs_dev *dev, int blockNumber) { struct mtd_info *mtd = (struct mtd_info *)(dev->driver_context); __u32 addr = - ((loff_t) blockNumber) * dev->data_bytes_per_chunk + ((loff_t) blockNumber) * dev->param.total_bytes_per_chunk * dev->param.chunks_per_block; struct erase_info ei; int retval = 0; -- 2.30.2