irqchip/gicv3: Handle loop timeout proper
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: a2c2251012
("irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Sudeep 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@mwanda
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
c024f06b3d
commit
d102eb5c1a
@ -153,7 +153,7 @@ static void gic_enable_redist(bool enable)
|
||||
return; /* No PM support in this redistributor */
|
||||
}
|
||||
|
||||
while (count--) {
|
||||
while (--count) {
|
||||
val = readl_relaxed(rbase + GICR_WAKER);
|
||||
if (enable ^ (bool)(val & GICR_WAKER_ChildrenAsleep))
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user