X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_nand.c;h=b919da07b8384b90564383f8257bffd82803caaa;hp=26acf201d76cfd2e6ee09795328b87b45b47d873;hb=a46f98fba1f6c231423277e67152b602ff5c98ad;hpb=378bbdf4d64b8b26db55a495ab6ae520ff62e471 diff --git a/yaffs_nand.c b/yaffs_nand.c index 26acf20..b919da0 100644 --- a/yaffs_nand.c +++ b/yaffs_nand.c @@ -1,7 +1,7 @@ /* - * YAFFS: Yet another FFS. A NAND-flash specific file system. + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. * - * Copyright (C) 2002 Aleph One Ltd. + * Copyright (C) 2002-2007 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -13,7 +13,7 @@ */ const char *yaffs_nand_c_version = - "$Id: yaffs_nand.c,v 1.3 2006-10-03 10:13:03 charles Exp $"; + "$Id: yaffs_nand.c,v 1.6 2007-02-12 16:55:26 wookey Exp $"; #include "yaffs_nand.h" #include "yaffs_tagscompat.h" @@ -45,8 +45,7 @@ int yaffs_ReadChunkWithTagsFromNAND(yaffs_Device * dev, int chunkInNAND, tags->eccResult > YAFFS_ECC_RESULT_NO_ERROR){ yaffs_BlockInfo *bi = yaffs_GetBlockInfo(dev, chunkInNAND/dev->nChunksPerBlock); - bi->gcPrioritise = 1; - dev->hasPendingPrioritisedGCs = 1; + yaffs_HandleChunkError(dev,bi); } return result; @@ -124,9 +123,6 @@ int yaffs_EraseBlockInNAND(struct yaffs_DeviceStruct *dev, dev->nBlockErasures++; result = dev->eraseBlockInNAND(dev, blockInNAND); - /* If at first we don't succeed, try again *once*.*/ - if (!result) - result = dev->eraseBlockInNAND(dev, blockInNAND); return result; }