X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_yaffs1.c;h=0cdc8c80c108017ef351b8b51d29fd922b6d3480;hp=4f2e76878ceab34c27d5bba7162d9042234e9880;hb=3121aaa39eec2eb2fe7d48ee163a6a8e31efcd7d;hpb=33308768bd24abe4e1f59c5025a3dd824119ae1d diff --git a/yaffs_yaffs1.c b/yaffs_yaffs1.c index 4f2e768..0cdc8c8 100644 --- a/yaffs_yaffs1.c +++ b/yaffs_yaffs1.c @@ -22,10 +22,10 @@ int yaffs1_scan(struct yaffs_dev *dev) { struct yaffs_ext_tags tags; - int blk; + u32 blk; int result; int chunk; - int c; + u32 c; int deleted; enum yaffs_block_state state; LIST_HEAD(hard_list); @@ -98,6 +98,8 @@ int yaffs1_scan(struct yaffs_dev *dev) result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL, &tags); + if (result != YAFFS_OK) + continue; /* Let's have a good look at this chunk... */ if (tags.ecc_result == YAFFS_ECC_RESULT_UNFIXED || @@ -325,7 +327,7 @@ int yaffs1_scan(struct yaffs_dev *dev) use_header_file_size) in->variant. file_variant.file_size - = yaffs_oh_to_size(oh); + = yaffs_oh_to_size(dev, oh, 0); break; case YAFFS_OBJECT_TYPE_HARDLINK: in->variant.