diff options
Diffstat (limited to 'fs/yaffs2/yaffs_nand.c')
| -rw-r--r-- | fs/yaffs2/yaffs_nand.c | 18 | 
1 files changed, 9 insertions, 9 deletions
| diff --git a/fs/yaffs2/yaffs_nand.c b/fs/yaffs2/yaffs_nand.c index b20165584..e790be61a 100644 --- a/fs/yaffs2/yaffs_nand.c +++ b/fs/yaffs2/yaffs_nand.c @@ -10,7 +10,7 @@   * it under the terms of the GNU General Public License version 2 as   * published by the Free Software Foundation.   */ -  +  /* XXX U-BOOT XXX */  #include <common.h> @@ -28,9 +28,9 @@ int yaffs_ReadChunkWithTagsFromNAND(yaffs_Device * dev, int chunkInNAND,  {  	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; @@ -42,14 +42,14 @@ int yaffs_ReadChunkWithTagsFromNAND(yaffs_Device * dev, int chunkInNAND,  		result = yaffs_TagsCompatabilityReadChunkWithTagsFromNAND(dev,  									realignedChunkInNAND,  									buffer, -									tags);	 -	if(tags &&  +									tags); +	if(tags &&  	   tags->eccResult > YAFFS_ECC_RESULT_NO_ERROR){ -	 +  		yaffs_BlockInfo *bi = yaffs_GetBlockInfo(dev, chunkInNAND/dev->nChunksPerBlock); -                yaffs_HandleChunkError(dev,bi); +		yaffs_HandleChunkError(dev,bi);  	} -								 +  	return result;  } @@ -60,7 +60,7 @@ int yaffs_WriteChunkWithTagsToNAND(yaffs_Device * dev,  {  	chunkInNAND -= dev->chunkOffset; -	 +  	if (tags) {  		tags->sequenceNumber = dev->sequenceNumber;  		tags->chunkUsed = 1; |