On 12/2/23 06:02, Bean Huo wrote:
+static int ufshcd_update_rtc(struct ufs_hba *hba) +{ + int err; + u32 val; + struct timespec64 ts64; + + ktime_get_real_ts64(&ts64); + val = ts64.tv_sec - hba->dev_info.rtc_time_baseline;
A 64-bit value is truncated to a 32-bit value. What should happen if the right hand side is larger than what fits into a 32-bit integer? Should a comment perhaps be added that uptimes of more than 136 years are not supported and also for absolute times that the above code fails after the year 2010 + 136 = 2146? Thanks, Bart.