diff options
| -rw-r--r-- | fs/exfat/dir.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c index e651ffb06a43..00d125979fd2 100644 --- a/fs/exfat/dir.c +++ b/fs/exfat/dir.c @@ -1040,12 +1040,12 @@ rewind: continue; } - brelse(bh); if (entry_type == TYPE_EXTEND) { unsigned short entry_uniname[16], unichar; if (step != DIRENT_STEP_NAME || name_len >= MAX_NAME_LENGTH) { + brelse(bh); step = DIRENT_STEP_FILE; continue; } @@ -1056,6 +1056,7 @@ rewind: uniname += EXFAT_FILE_NAME_LEN; len = exfat_extract_uni_name(ep, entry_uniname); + brelse(bh); name_len += len; unichar = *(uniname+len); @@ -1074,6 +1075,7 @@ rewind: continue; } + brelse(bh); if (entry_type & (TYPE_CRITICAL_SEC | TYPE_BENIGN_SEC)) { if (step == DIRENT_STEP_SECD) { |
