X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_tagsmarshall.c;h=d568208e91bd53ece6b685707ecca481c693c183;hp=c2e2369bb24731e58fce8d1ccfa1300232854932;hb=23a47e1b0f192b4572790c6c961c23af1e462f09;hpb=21b2dedaa32ab309f6d1daec966528b7586bd207 diff --git a/yaffs_tagsmarshall.c b/yaffs_tagsmarshall.c index c2e2369..d568208 100644 --- a/yaffs_tagsmarshall.c +++ b/yaffs_tagsmarshall.c @@ -1,8 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. * - * Copyright (C) 2002-2011 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering + * Copyright (C) 2002-2018 Aleph One Ltd. * * Created by Charles Manning * @@ -15,7 +14,7 @@ * tags storage. */ -#include "yaffs_guts.h" +#include "yaffs_tagsmarshall.h" #include "yaffs_trace.h" #include "yaffs_packedtags2.h" @@ -101,6 +100,9 @@ static int yaffs_tags_marshall_read(struct yaffs_dev *dev, BUG(); + if (retval == YAFFS_FAIL) + return YAFFS_FAIL; + if (dev->param.inband_tags) { if (tags) { struct yaffs_packed_tags2_tags_only *pt2tp; @@ -122,7 +124,7 @@ static int yaffs_tags_marshall_read(struct yaffs_dev *dev, dev->n_ecc_unfixed++; } - if (tags && ecc_result == -YAFFS_ECC_RESULT_FIXED) { + if (tags && ecc_result == YAFFS_ECC_RESULT_FIXED) { if (tags->ecc_result <= YAFFS_ECC_RESULT_NO_ERROR) tags->ecc_result = YAFFS_ECC_RESULT_FIXED; dev->n_ecc_fixed++; @@ -170,10 +172,7 @@ static int yaffs_tags_marshall_query_block(struct yaffs_dev *dev, int block_no, "block query returns seq %d state %d", *seq_number, *state); - if (retval == 0) - return YAFFS_OK; - else - return YAFFS_FAIL; + return retval; } static int yaffs_tags_marshall_mark_bad(struct yaffs_dev *dev, int block_no)