Commit 9e9ca450 authored by Dan Carpenter's avatar Dan Carpenter Committed by Sasha Levin

irqchip/gicv3: Handle loop timeout proper

[ Upstream commit d102eb5c ]

The timeout loop terminates when the loop count is zero, but the decrement
of the count variable is post check. So count is -1 when we check for the
timeout and therefor the error message is supressed.

Change it to predecrement, so the error message is emitted.

[ tglx: Massaged changelog ]

Fixes: a2c22510 ("irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarSudeep Holla <sudeep.holla@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: kernel-janitors@vger.kernel.org
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20161014072534.GA15168@mwandaSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
parent 88b6c9f4
...@@ -180,7 +180,7 @@ static void gic_enable_redist(bool enable) ...@@ -180,7 +180,7 @@ static void gic_enable_redist(bool enable)
return; /* No PM support in this redistributor */ return; /* No PM support in this redistributor */
} }
while (count--) { while (--count) {
val = readl_relaxed(rbase + GICR_WAKER); val = readl_relaxed(rbase + GICR_WAKER);
if (enable ^ (val & GICR_WAKER_ChildrenAsleep)) if (enable ^ (val & GICR_WAKER_ChildrenAsleep))
break; break;
......
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