diff options
author | charles <charles> | 2006-10-03 10:13:03 +0000 |
---|---|---|
committer | charles <charles> | 2006-10-03 10:13:03 +0000 |
commit | 378bbdf4d64b8b26db55a495ab6ae520ff62e471 (patch) | |
tree | 73cdee857d1404a4250eb9880ef75e01e4e07766 /yaffs_nand.c | |
parent | 7458406d72d761247dc994f82f9879d9f4ecee56 (diff) |
Add large NAND support and improve retirement handling
Diffstat (limited to 'yaffs_nand.c')
-rw-r--r-- | yaffs_nand.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/yaffs_nand.c b/yaffs_nand.c index 989e8d9..26acf20 100644 --- a/yaffs_nand.c +++ b/yaffs_nand.c @@ -13,7 +13,7 @@ */ const char *yaffs_nand_c_version = - "$Id: yaffs_nand.c,v 1.2 2006-09-21 08:13:59 charles Exp $"; + "$Id: yaffs_nand.c,v 1.3 2006-10-03 10:13:03 charles Exp $"; #include "yaffs_nand.h" #include "yaffs_tagscompat.h" @@ -25,8 +25,13 @@ int yaffs_ReadChunkWithTagsFromNAND(yaffs_Device * dev, int chunkInNAND, yaffs_ExtendedTags * tags) { int result; + yaffs_ExtendedTags localTags; int realignedChunkInNAND = chunkInNAND - dev->chunkOffset; + + /* If there are no tags provided, use local tags to get prioritised gc working */ + if(!tags) + tags = &localTags; if (dev->readChunkWithTagsFromNAND) result = dev->readChunkWithTagsFromNAND(dev, realignedChunkInNAND, buffer, @@ -41,6 +46,7 @@ int yaffs_ReadChunkWithTagsFromNAND(yaffs_Device * dev, int chunkInNAND, yaffs_BlockInfo *bi = yaffs_GetBlockInfo(dev, chunkInNAND/dev->nChunksPerBlock); bi->gcPrioritise = 1; + dev->hasPendingPrioritisedGCs = 1; } return result; |