projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change tracing flags
[yaffs2.git]
/
yaffs_guts.c
diff --git
a/yaffs_guts.c
b/yaffs_guts.c
index eafbaa996e57054305f4104fa6c8003a00d26f9d..1f36cea86dd0ec7b0908299a7f444545e23c192c 100644
(file)
--- a/
yaffs_guts.c
+++ b/
yaffs_guts.c
@@
-13,7
+13,7
@@
*/
const char *yaffs_guts_c_version =
*/
const char *yaffs_guts_c_version =
- "$Id: yaffs_guts.c,v 1.2
0 2005-10-07 02:46:49
charles Exp $";
+ "$Id: yaffs_guts.c,v 1.2
3 2005-11-07 07:19:34
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-1757,6
+1757,13
@@
static int yaffs_InitialiseBlocks(yaffs_Device * dev, int nBlocks)
/* Set up dynamic blockinfo stuff. */
dev->chunkBitmapStride = (dev->nChunksPerBlock + 7) / 8;
dev->chunkBits = YMALLOC(dev->chunkBitmapStride * nBlocks);
/* 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);
if (dev->blockInfo && dev->chunkBits) {
memset(dev->blockInfo, 0, nBlocks * sizeof(yaffs_BlockInfo));
memset(dev->chunkBits, 0, dev->chunkBitmapStride * nBlocks);
@@
-1776,7
+1783,12
@@
static void yaffs_DeinitialiseBlocks(yaffs_Device * dev)
dev->blockInfoAlt = 0;
dev->blockInfo = NULL;
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;
}
dev->chunkBits = NULL;
}
@@
-2648,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) {
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;
yaffs_InitialiseTags(&tags);
tags.chunkDeleted = 1;
@@
-5321,7
+5325,7
@@
int yaffs_GutsInitialise(yaffs_Device * dev)
int extraBits;
int nBlocks;
int extraBits;
int nBlocks;
- T(YAFFS_TRACE_
ALWAYS
, (TSTR("yaffs: yaffs_GutsInitialise()" TENDSTR)));
+ T(YAFFS_TRACE_
TRACING
, (TSTR("yaffs: yaffs_GutsInitialise()" TENDSTR)));
/* Check stuff that must be set */
/* Check stuff that must be set */
@@
-5524,7
+5528,7
@@
int yaffs_GutsInitialise(yaffs_Device * dev)
yaffs_VerifyFreeChunks(dev);
yaffs_VerifyFreeChunks(dev);
- T(YAFFS_TRACE_
ALWAYS
,
+ T(YAFFS_TRACE_
TRACING
,
(TSTR("yaffs: yaffs_GutsInitialise() done.\n" TENDSTR)));
return YAFFS_OK;
(TSTR("yaffs: yaffs_GutsInitialise() done.\n" TENDSTR)));
return YAFFS_OK;