[PATCH 1/1] fs: fat: convert change month correctly

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Apr 9 20:04:56 CEST 2024


The month is stored in 5 - 8. We need to shift it by 5 bits.

Cf. Microsoft FAT Specification, 2005-08-30

Fixes: 13c11c665320 ("fs: fat: add file attributes to struct fs_dirent")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 fs/fat/fat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 14e53cf2d5a..2dd9d4e72dc 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -1254,7 +1254,7 @@ out:
 static void __maybe_unused fat2rtc(u16 date, u16 time, struct rtc_time *tm)
 {
 	tm->tm_mday = date & 0x1f;
-	tm->tm_mon = (date & 0x1e0) >> 4;
+	tm->tm_mon = (date & 0x1e0) >> 5;
 	tm->tm_year = (date >> 9) + 1980;
 
 	tm->tm_sec = (time & 0x1f) << 1;
-- 
2.43.0



More information about the U-Boot mailing list