]> git.karo-electronics.de Git - karo-tx-linux.git/commit
m68knommu: fix broken ColdFire slice timer read_clk() code
authorGreg Ungerer <gerg@uclinux.org>
Wed, 16 Nov 2011 05:09:02 +0000 (15:09 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Thu, 24 Nov 2011 23:32:56 +0000 (09:32 +1000)
commit285aa9405cdcd9c98dd85a9a664af040d9f228f5
treedbd95563cb56cf50779b26e01680063080029e7b
parentd3c804c0fa56a0bba5a97d43f3b7a65f5b07ffab
m68knommu: fix broken ColdFire slice timer read_clk() code

There is a race on reading the ColdFire slice timer current count and the
total clock count so far. Interrupts are off, and we may have just missed
getting a new timer wrap event interrupt. Check for this and adjust the
cycle count and current read count accordingly.

Also the slice timer counts down from the terminal count. So in read_clk()
we need take the current clock count away from the terminal count.

Reported-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/platform/coldfire/sltimers.c