ARM: 6454/1: sa1100: Fix for a nasty initialization bug in the RTSR.
authorMarcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
Mon, 18 Oct 2010 21:35:54 +0000 (22:35 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 10 Nov 2010 13:34:45 +0000 (13:34 +0000)
commit7decaa557a20f48aabef35f817ec16ef563567b0
treec5b5bed714af85ff5715d81c6fd3807b3d0b3888
parentfd3ee6d3421bc05ce42ee7f48071aee72051af28
ARM: 6454/1: sa1100: Fix for a nasty initialization bug in the RTSR.

This patch fixes a nasty initialization condition on the RTSR register.
Sometimes, bit 1 will wake up set, sometimes not. This can be seen
by checking the value of the RTSR by typing '$ cat /proc/driver/rtc',
which has been provided by the previous patch.

If this bit is set, the command '$ cat /dev/rtc0' will lock the system
in an endless interrupt routine calling loop.

This patch fixes the issue both at sa1100_rtc_probe(), where it avoids
a spurious interrupt from happening, and at sa1100_rtc_interrupt(),
which is the robust solution, though it does not avoid the first
spurious interrupt.

Signed-off-by: Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/rtc/rtc-sa1100.c
This page took 0.024741 seconds and 5 git commands to generate.