diff options
author | roel kluin <roel.kluin@gmail.com> | 2008-09-16 04:50:54 +0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-09-16 13:04:30 +0400 |
commit | a83479545d0e693da0886fd28d041d3a5c1bc966 (patch) | |
tree | 11b3773df0b5e7dcf67a3bcabec8a888b4fca4d2 /arch/mips/vr41xx | |
parent | bc45eb8950b8c14487385cfd2bda1613ca8d9703 (diff) | |
download | linux-a83479545d0e693da0886fd28d041d3a5c1bc966.tar.xz |
[MIPS] VR41xx: unsigned irq cannot be negative
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/vr41xx')
-rw-r--r-- | arch/mips/vr41xx/common/irq.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c index cba36a247e32..92dd1a0ca352 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); |