]> git.karo-electronics.de Git - karo-tx-linux.git/commit
xtensa: clear timer IRQ unconditionally in its handler
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 16 Oct 2013 22:42:24 +0000 (02:42 +0400)
committerChris Zankel <chris@zankel.net>
Mon, 2 Dec 2013 22:23:46 +0000 (14:23 -0800)
commit84e03b73bdb69068174841196526b8dfb83dc177
tree4e4a1f8c5f30b082e5de81cf3c3b7e754bf5dff9
parent23bceeb1daee3dcd909580aea15d6c83bb4de634
xtensa: clear timer IRQ unconditionally in its handler

PIC irq_ack doesn't clear timer IRQ, because timer interrupt handler
usually set up new timer by writing to ccompare register and thus
clearing timer IRQ. However timer may not be set up in the IRQ handler,
e.g. with tickless idle on SMP, or when CPU is going offline, leaving
timer IRQ raised and making do_interrupt attempting to handle it
forever.

To fix this always write current value of ccompare SR chosen to be linux
timer back to that SR on entry to timer interrupt handler.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/kernel/time.c