mirror of
https://github.com/torvalds/linux
synced 2024-09-20 19:17:24 +00:00
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 */
|
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 ^ (bool)(val & GICR_WAKER_ChildrenAsleep))
|
if (enable ^ (bool)(val & GICR_WAKER_ChildrenAsleep))
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue