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.schucha...@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