Thread (10 messages) 10 messages, 4 authors, 2014-05-07

[PATCH] rtc: rtc-at91rm9200: fix infinite wait for ACKUPD irq

From: Boris BREZILLON <hidden>
Date: 2014-05-06 20:44:14
Also in: lkml

Hi,

On 06/05/2014 21:06, Bryan Evenson wrote:
Boris,
quoted
-----Original Message-----
From: Boris BREZILLON [mailto:boris.brezillon at free-electrons.com]
Sent: Tuesday, May 06, 2014 10:28 AM
To: Bryan Evenson
Cc: Andrew Victor; Nicolas Ferre; Jean-Christophe Plagniol-Villard; linux-arm-
kernel at lists.infradead.org; Alessandro Zummo; rtc-
linux at googlegroups.com; linux-kernel at vger.kernel.org; Boris BREZILLON
Subject: [PATCH] rtc: rtc-at91rm9200: fix infinite wait for ACKUPD irq

The rtc user must wait at least 1 sec between each time/calandar update
(see atmel's datasheet chapter "Updating Time/Calendar").

Use the 1Hz interrupt to update the at91_rtc_upd_rdy flag and wait for
the at91_rtc_wait_upd_rdy event if the rtc is not ready.

Signed-off-by: Boris BREZILLON <redacted>
Reported-by: Bryan Evenson <redacted>
---
Hello Bryan,

I reproduced your bug (using your script) and this patch seems to fix the
problem.

Could you try it and let me know if it works for you ?
Looks good to me.  I modified the test script as follows:

----------
#!/bin/sh
i=0
while [ 1 ]; do
  hwclock -w -u > /dev/null 2>&1
  echo $$ $i $?
  : $((i++))
done
----------

This version then attempts to write to the RTC as often as possible (script change was due to a suggestion on the Busybox mailing list).  I ran two instances of the script, which each looped through about 60,000 times over a 30 minute run.  At no point has access to the RTC been permanently locked out on my system.  I'd call this fixed.
Great!
I'd assume this patch would be backported to the longterm releases?
I'd like to wait for Nicolas' ack before asking for a backport to stable
releases.

Best Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help