On 29/03/18 01:12, Trent Piepho wrote:
I sent a patch a couple weeks ago that addressed a similar issue, see https://patchwork.ozlabs.org/patch/887090/
Does this also fix the problem you see?
It breaks the endless loop that happens later on in the RTC read path.
This patch though is about fixing the bug with not handling the enable of the snvs_rtc_enable() correctly, which is why it should be applied.
The right flow is to handle the error on snvs_rtc_enable() as soon as it happens as opposed wait for read() to -ETIMEDOUT.
I think what you've done will prevent the driver from loading if the clock is not working, but if the clock does not tick properly after loading, there are still points (snvs_rtc_read_time for one) that will lock up in the kernel.
I'll dig out your patch and give it a review.
--- bod