Throw out obsolete code
[yaffs2.git] / yaffs_guts.c
index 90aba83483df0745e8174e5e502c52bbdb507b68..8a07775aa92bb3201446abe9c18c82dbdadd5c9b 100644 (file)
@@ -13,7 +13,7 @@
  */
 
 const char *yaffs_guts_c_version =
-    "$Id: yaffs_guts.c,v 1.19 2005-09-20 05:08:50 charles Exp $";
+    "$Id: yaffs_guts.c,v 1.22 2005-10-13 02:17:00 charles Exp $";
 
 #include "yportenv.h"
 
@@ -1747,10 +1747,23 @@ static int yaffs_InitialiseBlocks(yaffs_Device * dev, int nBlocks)
 
        /* Todo we're assuming the malloc will pass. */
        dev->blockInfo = YMALLOC(nBlocks * sizeof(yaffs_BlockInfo));
+       if(!dev->blockInfo){
+               dev->blockInfo = YMALLOC_ALT(nBlocks * sizeof(yaffs_BlockInfo));
+               dev->blockInfoAlt = 1;
+       }
+       else
+               dev->blockInfoAlt = 0;
        
        /* Set up dynamic blockinfo stuff. */
        dev->chunkBitmapStride = (dev->nChunksPerBlock + 7) / 8;
        dev->chunkBits = YMALLOC(dev->chunkBitmapStride * nBlocks);
+       if(!dev->chunkBits){
+               dev->chunkBits = YMALLOC_ALT(dev->chunkBitmapStride * nBlocks);
+               dev->chunkBitsAlt = 1;
+       }
+       else
+               dev->chunkBitsAlt = 0;
+       
        if (dev->blockInfo && dev->chunkBits) {
                memset(dev->blockInfo, 0, nBlocks * sizeof(yaffs_BlockInfo));
                memset(dev->chunkBits, 0, dev->chunkBitmapStride * nBlocks);
@@ -1763,9 +1776,19 @@ static int yaffs_InitialiseBlocks(yaffs_Device * dev, int nBlocks)
 
 static void yaffs_DeinitialiseBlocks(yaffs_Device * dev)
 {
-       YFREE(dev->blockInfo);
+       if(dev->blockInfoAlt)
+               YFREE_ALT(dev->blockInfo);
+       else
+               YFREE(dev->blockInfo);
+       dev->blockInfoAlt = 0;
+
        dev->blockInfo = NULL;
-       YFREE(dev->chunkBits);
+       
+       if(dev->chunkBitsAlt)
+               YFREE_ALT(dev->chunkBits);
+       else
+               YFREE(dev->chunkBits);
+       dev->chunkBitsAlt = 0;
        dev->chunkBits = NULL;
 }
 
@@ -2637,14 +2660,6 @@ void yaffs_DeleteChunk(yaffs_Device * dev, int chunkId, int markNAND, int lyn)
        if (markNAND &&
            bi->blockState != YAFFS_BLOCK_STATE_COLLECTING && !dev->isYaffs2) {
 
-#ifdef CONFIG_MTD_NAND_VERIFY_WRITE
-
-               /* Read data before write, to ensure correct ecc 
-                * if we're using MTD verification under Linux
-                */
-               yaffs_ReadChunkFromNAND(dev, chunkId, NULL, &spare, 0);
-#endif
-
                yaffs_InitialiseTags(&tags);
 
                tags.chunkDeleted = 1;