X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=second%2Ffile.c;h=b5763a235f6d5db62ad5fb1b4c92254b89775270;hp=da66de6a121df892424c2b04394611ad78d73fba;hb=1f0aaa620e99229cb0777c0e438e89f3d7b6e082;hpb=b58b7f84f40f96f61a1d5fc1f88a1abd9c1a4193 diff --git a/second/file.c b/second/file.c index da66de6..b5763a2 100644 --- a/second/file.c +++ b/second/file.c @@ -166,8 +166,12 @@ file_block_open( struct boot_file_t* file, p->part_number, p->part_start, p->part_size ); if (partition == -1) { file->fs = fs_open( file, dev_name, p, file_name ); - if (file->fs != FILE_ERR_OK) - goto bail; + if (file->fs == NULL || fserrorno != FILE_ERR_OK) + continue; + else { + partition = p->part_number; + goto done; + } } if ((partition >= 0) && (partition == p->part_number)) found = p; @@ -183,7 +187,7 @@ file_block_open( struct boot_file_t* file, DEBUG_F( "Using OF defaults.. (found = %p)\n", found ); file->fs = fs_open( file, dev_name, found, file_name ); -bail: +done: if (parts) partitions_free(parts);