On Jun 18 2018, Mathieu Malaterre <malat@xxxxxxxxxx> wrote:
Sadly, trying again today does not work anymore. Adding some printk just before WARN_ON: +printk(KERN_ERR " rtc DBG pmu_get_time1: %lld %d %lld \n", now, RTC_OFFSET, now - RTC_OFFSET ); +printk(KERN_ERR " rtc DBG pmu_get_time2: %x %x %x %x %d \n", req.reply[0], req.reply[1], req.reply[2], req.reply[3] , req.reply_len); leads to: [ 0.000000] rtc DBG pmu_get_time1: 14096662 2082844800 -2068748138 [ 0.000000] rtc DBG pmu_get_time2: 0 d7 19 16 4
A good value would have 0xd7 in the first byte. The problem is that pmu_set_rtc_time is also broken, and leads to an invalid time value stored in the RTC. Since pmu_request is a varargs function passing values of type time64_t without casting won't work. You need to reset your RTC before you can continue. I think the right fix is to change nowtime in pmu_set_rtc_time and cuda_set_rtc_time back to unsigned int (or to u32). Andreas. -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html