• Russell King's avatar
    [ARM] pxa: fix one-shot timer mode · 91bc51d8
    Russell King authored
    One-shot timer mode on PXA has various bugs which prevent kernels
    build with NO_HZ enabled booting.  They end up spinning on a
    permanently asserted timer interrupt because we don't properly
    clear it down - clearing the OIER bit does not stop the pending
    interrupt status.  Fix this in the set_mode handler as well.
    
    Moreover, the code which sets the next expiry point may race with
    the hardware, and we might not set the match register sufficiently
    in the future.  If we encounter that situation, return -ETIME so
    the generic time code retries.
    Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Acked-by: default avatarNicolas Pitre <nico@cam.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    91bc51d8
time.c 6.76 KB