]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/fat/dir.c
fat: cleanup fat_parse_long() error handling
[linux-2.6-omap-h63xx.git] / fs / fat / dir.c
index 931dd28b52899cb4d55a534ed733509e653bde47..140fc39e23076fe139a04827617f4d33fc1299d5 100644 (file)
@@ -373,9 +373,10 @@ parse_record:
                if (de->attr == ATTR_EXT) {
                        int status = fat_parse_long(inode, &cpos, &bh, &de,
                                                    &unicode, &nr_slots);
-                       if (status < 0)
-                               return status;
-                       else if (status == PARSE_INVALID)
+                       if (status < 0) {
+                               err = status;
+                               goto end_of_dir;
+                       } else if (status == PARSE_INVALID)
                                continue;
                        else if (status == PARSE_NOT_LONGNAME)
                                goto parse_record;