LKML Archive mirror
 help / color / mirror / Atom feed
* [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative
@ 2008-09-16  0:50 roel kluin
  2008-09-16  2:02 ` Yoichi Yuasa
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: roel kluin @ 2008-09-16  0:50 UTC (permalink / raw
  To: ralf, yoichi_yuasa, linux-mips, linux-kernel

unsigned irq cannot be negative

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c
index cba36a2..92dd1a0 100644
--- a/arch/mips/vr41xx/common/irq.c
+++ b/arch/mips/vr41xx/common/irq.c
@@ -72,6 +72,7 @@ static void irq_dispatch(unsigned int irq)
 	cascade = irq_cascade + irq;
 	if (cascade->get_irq != NULL) {
 		unsigned int source_irq = irq;
+		int ret;
 		desc = irq_desc + source_irq;
 		if (desc->chip->mask_ack)
 			desc->chip->mask_ack(source_irq);
@@ -79,8 +80,9 @@ static void irq_dispatch(unsigned int irq)
 			desc->chip->mask(source_irq);
 			desc->chip->ack(source_irq);
 		}
-		irq = cascade->get_irq(irq);
-		if (irq < 0)
+		ret = cascade->get_irq(irq);
+		irq = ret;
+		if (ret < 0)
 			atomic_inc(&irq_err_count);
 		else
 			irq_dispatch(irq);

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

* Re: [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative
  2008-09-16  0:50 [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative roel kluin
@ 2008-09-16  2:02 ` Yoichi Yuasa
  2008-09-16  8:58 ` Ralf Baechle
  2008-09-16 10:44 ` Sergei Shtylyov
  2 siblings, 0 replies; 5+ messages in thread
From: Yoichi Yuasa @ 2008-09-16  2:02 UTC (permalink / raw
  To: roel kluin; +Cc: yoichi_yuasa, ralf, linux-mips, linux-kernel

On Mon, 15 Sep 2008 20:50:54 -0400
roel kluin <roel.kluin@gmail.com> wrote:

> unsigned irq cannot be negative
> 
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>

Acked-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

Yoichi

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

* Re: [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative
  2008-09-16  0:50 [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative roel kluin
  2008-09-16  2:02 ` Yoichi Yuasa
@ 2008-09-16  8:58 ` Ralf Baechle
  2008-09-16 10:44 ` Sergei Shtylyov
  2 siblings, 0 replies; 5+ messages in thread
From: Ralf Baechle @ 2008-09-16  8:58 UTC (permalink / raw
  To: roel kluin; +Cc: yoichi_yuasa, linux-mips, linux-kernel

On Mon, Sep 15, 2008 at 08:50:54PM -0400, roel kluin wrote:

Thanks, applied.

  Ralf

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

* Re: [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative
  2008-09-16  0:50 [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative roel kluin
  2008-09-16  2:02 ` Yoichi Yuasa
  2008-09-16  8:58 ` Ralf Baechle
@ 2008-09-16 10:44 ` Sergei Shtylyov
  2008-09-17  1:54   ` roel kluin
  2 siblings, 1 reply; 5+ messages in thread
From: Sergei Shtylyov @ 2008-09-16 10:44 UTC (permalink / raw
  To: roel kluin; +Cc: ralf, yoichi_yuasa, linux-mips, linux-kernel

Hello.

roel kluin wrote:

> unsigned irq cannot be negative
>
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
> ---
> diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c
> index cba36a2..92dd1a0 100644
> --- a/arch/mips/vr41xx/common/irq.c
> +++ b/arch/mips/vr41xx/common/irq.c
> @@ -72,6 +72,7 @@ static void irq_dispatch(unsigned int irq)
>  	cascade = irq_cascade + irq;
>  	if (cascade->get_irq != NULL) {
>  		unsigned int source_irq = irq;
> +		int ret;
>   

   Keep an empty line after the declaration block please.

> @@ -79,8 +80,9 @@ static void irq_dispatch(unsigned int irq)
>  			desc->chip->mask(source_irq);
>  			desc->chip->ack(source_irq);
>  		}
> -		irq = cascade->get_irq(irq);
> -		if (irq < 0)
> +		ret = cascade->get_irq(irq);
> +		irq = ret;
> +		if (ret < 0)
>  			atomic_inc(&irq_err_count);
>  		else
>  			irq_dispatch(irq);
>   

  How about this:

		ret = cascade->get_irq(irq);
		if (ret < 0)
 			atomic_inc(&irq_err_count);
 		else
 			irq_dispatch(ret);


WBR, Sergei



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

* Re: [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative
  2008-09-16 10:44 ` Sergei Shtylyov
@ 2008-09-17  1:54   ` roel kluin
  0 siblings, 0 replies; 5+ messages in thread
From: roel kluin @ 2008-09-17  1:54 UTC (permalink / raw
  To: Sergei Shtylyov; +Cc: ralf, yoichi_yuasa, linux-mips, linux-kernel

Sergei Shtylyov wrote:
> Hello.

>> @@ -79,8 +80,9 @@ static void irq_dispatch(unsigned int irq)
>>              desc->chip->mask(source_irq);
>>              desc->chip->ack(source_irq);
>>          }
>> -        irq = cascade->get_irq(irq);
>> -        if (irq < 0)
>> +        ret = cascade->get_irq(irq);
>> +        irq = ret;
>> +        if (ret < 0)
>>              atomic_inc(&irq_err_count);
>>          else
>>              irq_dispatch(irq);
>>   
> 
>  How about this:
> 
>         ret = cascade->get_irq(irq);
>         if (ret < 0)
>             atomic_inc(&irq_err_count);
>         else
>             irq_dispatch(ret);
> 
> 
> WBR, Sergei

good suggestion, but shouldn't we then remove source_irq
as well?

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c
index cba36a2..ab4e327 100644
--- a/arch/mips/vr41xx/common/irq.c
+++ b/arch/mips/vr41xx/common/irq.c
@@ -63,6 +63,7 @@ static void irq_dispatch(unsigned int irq)
 {
 	irq_cascade_t *cascade;
 	struct irq_desc *desc;
+	int ret;
 
 	if (irq >= NR_IRQS) {
 		atomic_inc(&irq_err_count);
@@ -71,21 +72,22 @@ static void irq_dispatch(unsigned int irq)
 
 	cascade = irq_cascade + irq;
 	if (cascade->get_irq != NULL) {
-		unsigned int source_irq = irq;
-		desc = irq_desc + source_irq;
+		desc = irq_desc + irq;
 		if (desc->chip->mask_ack)
-			desc->chip->mask_ack(source_irq);
+			desc->chip->mask_ack(irq);
 		else {
-			desc->chip->mask(source_irq);
-			desc->chip->ack(source_irq);
+			desc->chip->mask(irq);
+			desc->chip->ack(irq);
 		}
-		irq = cascade->get_irq(irq);
-		if (irq < 0)
+
+		ret = cascade->get_irq(irq);
+		if (ret < 0)
 			atomic_inc(&irq_err_count);
 		else
-			irq_dispatch(irq);
+			irq_dispatch(ret);
+
 		if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask)
-			desc->chip->unmask(source_irq);
+			desc->chip->unmask(irq);
 	} else
 		do_IRQ(irq);
 }


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

end of thread, other threads:[~2008-09-16 19:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-16  0:50 [PATCH] [MIPS] vr41xx: unsigned irq cannot be negative roel kluin
2008-09-16  2:02 ` Yoichi Yuasa
2008-09-16  8:58 ` Ralf Baechle
2008-09-16 10:44 ` Sergei Shtylyov
2008-09-17  1:54   ` roel kluin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).