Commit dab969c0 authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Ralf Baechle

[MIPS] time: Make c0_compare_int_usable more bullet proof

Use write_c0_compare(read_c0_count()) to clear interrupt.
Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 17f690be
...@@ -186,7 +186,7 @@ static int c0_compare_int_usable(void) ...@@ -186,7 +186,7 @@ static int c0_compare_int_usable(void)
* IP7 already pending? Try to clear it by acking the timer. * IP7 already pending? Try to clear it by acking the timer.
*/ */
if (c0_compare_int_pending()) { if (c0_compare_int_pending()) {
write_c0_compare(read_c0_compare()); write_c0_compare(read_c0_count());
irq_disable_hazard(); irq_disable_hazard();
if (c0_compare_int_pending()) if (c0_compare_int_pending())
return 0; return 0;
...@@ -202,7 +202,7 @@ static int c0_compare_int_usable(void) ...@@ -202,7 +202,7 @@ static int c0_compare_int_usable(void)
if (!c0_compare_int_pending()) if (!c0_compare_int_pending())
return 0; return 0;
write_c0_compare(read_c0_compare()); write_c0_compare(read_c0_count());
irq_disable_hazard(); irq_disable_hazard();
if (c0_compare_int_pending()) if (c0_compare_int_pending())
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment