]> git.ipfire.org Git - thirdparty/linux.git/commit
rtc: Extend timeout for waiting for UIP to clear to 1s
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 28 Nov 2023 05:36:53 +0000 (23:36 -0600)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 17 Dec 2023 21:33:55 +0000 (22:33 +0100)
commitcef9ecc8e938dd48a560f7dd9be1246359248d20
tree866b3bc8b296046fe68e8b710307800408680f2f
parent120931db07b49252aba2073096b595482d71857c
rtc: Extend timeout for waiting for UIP to clear to 1s

Specs don't say anything about UIP being cleared within 10ms. They
only say that UIP won't occur for another 244uS. If a long NMI occurs
while UIP is still updating it might not be possible to get valid
data in 10ms.

This has been observed in the wild that around s2idle some calls can
take up to 480ms before UIP is clear.

Adjust callers from outside an interrupt context to wait for up to a
1s instead of 10ms.

Cc: <stable@vger.kernel.org> # 6.1.y
Fixes: ec5895c0f2d8 ("rtc: mc146818-lib: extract mc146818_avoid_UIP")
Reported-by: Carsten Hatger <xmb8dsv4@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217626
Tested-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Reviewed-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Acked-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20231128053653.101798-5-mario.limonciello@amd.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
arch/x86/kernel/rtc.c
drivers/base/power/trace.c
drivers/rtc/rtc-cmos.c
drivers/rtc/rtc-mc146818-lib.c