Please leave at least 24 hours between sending new versions so that you can collect all feedback relating to your change, and we don't see discussion fragment between different threads. > @@ -84,10 +84,10 @@ void exfat_get_entry_time(struct exfat_sb_info *sbi, struct timespec64 *ts, > t >> 11, (t >> 5) & 0x003F, (t & 0x001F) << 1); > > > - /* time_ms field represent 0 ~ 199(1990 ms) */ > - if (time_ms) { > - ts->tv_sec += time_ms / 100; > - ts->tv_nsec = (time_ms % 100) * 10 * NSEC_PER_MSEC; > + /* time_10ms field represent 0 ~ 199cs(1990 ms) */ > + if (time_10ms) { > + ts->tv_sec += (time_10ms * 10) / 1000; > + ts->tv_nsec = (time_10ms * 10) % 1000 * NSEC_PER_MSEC; I find this more confusing than the original. ts->tv_sec += time_10ms / 100; ts->tv_nsec = (time_10ms % 100) * 10 * NSEC_PER_MSEC; is easier to understand for me, not least because I don't need to worry about the operator precedence between % and *.