All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] irqchip/gicv3: fix a loop timeout
@ 2016-10-14  7:26 ` Dan Carpenter
  0 siblings, 0 replies; 5+ messages in thread
From: Dan Carpenter @ 2016-10-14  7:26 UTC (permalink / raw)
  To: Thomas Gleixner, Sudeep Holla
  Cc: Jason Cooper, Marc Zyngier, linux-kernel, kernel-janitors

We expect the loop to exit with "count" set to zero so let's switch it
from a post-op to a pre-op count down.  Otherwise we don't see the error
message when this times out.

Fixes: a2c225101234 ("irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 9b81bd8..19d642e 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -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;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [patch] irqchip/gicv3: fix a loop timeout
@ 2016-10-14  7:26 ` Dan Carpenter
  0 siblings, 0 replies; 5+ messages in thread
From: Dan Carpenter @ 2016-10-14  7:26 UTC (permalink / raw)
  To: Thomas Gleixner, Sudeep Holla
  Cc: Jason Cooper, Marc Zyngier, linux-kernel, kernel-janitors

We expect the loop to exit with "count" set to zero so let's switch it
from a post-op to a pre-op count down.  Otherwise we don't see the error
message when this times out.

Fixes: a2c225101234 ("irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 9b81bd8..19d642e 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -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;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [patch] irqchip/gicv3: fix a loop timeout
  2016-10-14  7:26 ` Dan Carpenter
@ 2016-10-14  9:43   ` Sudeep Holla
  -1 siblings, 0 replies; 5+ messages in thread
From: Sudeep Holla @ 2016-10-14  9:43 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Thomas Gleixner, Sudeep Holla, Jason Cooper, Marc Zyngier,
	linux-kernel, kernel-janitors



On 14/10/16 08:26, Dan Carpenter wrote:
> We expect the loop to exit with "count" set to zero so let's switch it
> from a post-op to a pre-op count down.  Otherwise we don't see the error
> message when this times out.
>

Nice catch.

Acked-by: Sudeep Holla <sudeep.holla@arm.com>

-- 
Regards,
Sudeep

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] irqchip/gicv3: fix a loop timeout
@ 2016-10-14  9:43   ` Sudeep Holla
  0 siblings, 0 replies; 5+ messages in thread
From: Sudeep Holla @ 2016-10-14  9:43 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Thomas Gleixner, Sudeep Holla, Jason Cooper, Marc Zyngier,
	linux-kernel, kernel-janitors



On 14/10/16 08:26, Dan Carpenter wrote:
> We expect the loop to exit with "count" set to zero so let's switch it
> from a post-op to a pre-op count down.  Otherwise we don't see the error
> message when this times out.
>

Nice catch.

Acked-by: Sudeep Holla <sudeep.holla@arm.com>

-- 
Regards,
Sudeep

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [tip:irq/urgent] irqchip/gicv3: Handle loop timeout proper
  2016-10-14  7:26 ` Dan Carpenter
  (?)
  (?)
@ 2016-10-14 12:31 ` tip-bot for Dan Carpenter
  -1 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Dan Carpenter @ 2016-10-14 12:31 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: jason, tglx, hpa, marc.zyngier, mingo, linux-kernel,
	sudeep.holla, dan.carpenter

Commit-ID:  d102eb5c1ac5e6743b1c6d145c06a25d98ad1375
Gitweb:     http://git.kernel.org/tip/d102eb5c1ac5e6743b1c6d145c06a25d98ad1375
Author:     Dan Carpenter <dan.carpenter@oracle.com>
AuthorDate: Fri, 14 Oct 2016 10:26:21 +0300
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 14 Oct 2016 14:26:55 +0200

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: a2c225101234 ("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>

---
 drivers/irqchip/irq-gic-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 9b81bd8..19d642e 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -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;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-14 12:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-14  7:26 [patch] irqchip/gicv3: fix a loop timeout Dan Carpenter
2016-10-14  7:26 ` Dan Carpenter
2016-10-14  9:43 ` Sudeep Holla
2016-10-14  9:43   ` Sudeep Holla
2016-10-14 12:31 ` [tip:irq/urgent] irqchip/gicv3: Handle loop timeout proper tip-bot for Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.