From: Charles Manning Date: Fri, 18 Jan 2013 02:46:43 +0000 (+1300) Subject: yaffs linux: Fix chunk alignment for inband tags X-Git-Tag: aleph1-release~62^2 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=5dce9cd65806e71906078fdec8e28df8ae4e152f;ds=sidebyside yaffs linux: Fix chunk alignment for inband tags Signed-off-by: Charles Manning --- diff --git a/yaffs_mtdif_multi.c b/yaffs_mtdif_multi.c index bd63855..265dd78 100644 --- a/yaffs_mtdif_multi.c +++ b/yaffs_mtdif_multi.c @@ -105,7 +105,7 @@ static int yaffs_mtd_read(struct yaffs_dev *dev, int nand_chunk, struct mtd_oob_ops ops; int retval; - addr = ((loff_t) nand_chunk) * dev->data_bytes_per_chunk; + addr = ((loff_t) nand_chunk) * dev->param.total_bytes_per_chunk; memset(&ops, 0, sizeof(ops)); ops.mode = MTD_OPS_AUTO_OOB; ops.len = (data) ? data_len : 0; @@ -186,7 +186,7 @@ static int yaffs_mtd_erase(struct yaffs_dev *dev, int block_no) static int yaffs_mtd_mark_bad(struct yaffs_dev *dev, int block_no) { struct mtd_info *mtd = yaffs_dev_to_mtd(dev); - int blocksize = dev->param.chunks_per_block * dev->data_bytes_per_chunk; + int blocksize = dev->param.chunks_per_block * dev->param.total_bytes_per_chunk; int retval; yaffs_trace(YAFFS_TRACE_BAD_BLOCKS, "marking block %d bad", block_no); @@ -198,7 +198,7 @@ static int yaffs_mtd_mark_bad(struct yaffs_dev *dev, int block_no) static int yaffs_mtd_check_bad(struct yaffs_dev *dev, int block_no) { struct mtd_info *mtd = yaffs_dev_to_mtd(dev); - int blocksize = dev->param.chunks_per_block * dev->data_bytes_per_chunk; + int blocksize = dev->param.chunks_per_block * dev->param.total_bytes_per_chunk; int retval; yaffs_trace(YAFFS_TRACE_BAD_BLOCKS, "checking block %d bad", block_no);