Fix mtdif erasing to work properly for inband tags
authorcharles <charles>
Fri, 19 Feb 2010 01:00:14 +0000 (01:00 +0000)
committercharles <charles>
Fri, 19 Feb 2010 01:00:14 +0000 (01:00 +0000)
yaffs_mtdif.c

index 25d92ed6347bf36007767b5d2f3dfe9943eb5af2..8532e8cb0e2be59472d55e9d25318f2fa17a433d 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 const char *yaffs_mtdif_c_version =
  */
 
 const char *yaffs_mtdif_c_version =
-       "$Id: yaffs_mtdif.c,v 1.23 2010-02-18 01:18:04 charles Exp $";
+       "$Id: yaffs_mtdif.c,v 1.24 2010-02-19 01:00:14 charles Exp $";
 
 #include "yportenv.h"
 
 
 #include "yportenv.h"
 
@@ -211,7 +211,7 @@ int nandmtd_EraseBlockInNAND(yaffs_Device *dev, int blockNumber)
 {
        struct mtd_info *mtd = yaffs_DeviceToContext(dev)->mtd;
        __u32 addr =
 {
        struct mtd_info *mtd = yaffs_DeviceToContext(dev)->mtd;
        __u32 addr =
-           ((loff_t) blockNumber) * dev->nDataBytesPerChunk
+           ((loff_t) blockNumber) * dev->param.totalBytesPerChunk
                * dev->param.nChunksPerBlock;
        struct erase_info ei;
        
                * dev->param.nChunksPerBlock;
        struct erase_info ei;
        
@@ -219,7 +219,7 @@ int nandmtd_EraseBlockInNAND(yaffs_Device *dev, int blockNumber)
 
        ei.mtd = mtd;
        ei.addr = addr;
 
        ei.mtd = mtd;
        ei.addr = addr;
-       ei.len = dev->nDataBytesPerChunk * dev->param.nChunksPerBlock;
+       ei.len = dev->param.totalBytesPerChunk * dev->param.nChunksPerBlock;
        ei.time = 1000;
        ei.retries = 2;
        ei.callback = NULL;
        ei.time = 1000;
        ei.retries = 2;
        ei.callback = NULL;