]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
fs: fat: convert change month correctly
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 9 Apr 2024 18:04:56 +0000 (20:04 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 17 Apr 2024 23:06:04 +0000 (17:06 -0600)
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@canonical.com>
Reviewed-by: Alexander Dahl <ada@thorsis.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
fs/fat/fat.c

index 14e53cf2d5a630da36d5b8c929893fa9f8620960..2dd9d4e72dcc679587ec6270855b068a06dc9174 100644 (file)
@@ -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;