aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-09-16 19:35:49 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-09-16 19:35:49 -0700
commit1b901aa2b5debe0df02e9d6bb8d86e342b6d47b5 (patch)
tree8f1335b0b2b9bbaad1584b28cdaa77b7a1f835b0
parentef3d7714f6b75b51825ad0384b5ce48358427e50 (diff)
parenta83479545d0e693da0886fd28d041d3a5c1bc966 (diff)
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] VR41xx: unsigned irq cannot be negative
-rw-r--r--arch/mips/vr41xx/common/irq.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c
index cba36a247e3..92dd1a0ca35 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);