diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-09-16 22:35:49 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-09-16 22:35:49 -0400 |
| commit | 1b901aa2b5debe0df02e9d6bb8d86e342b6d47b5 (patch) | |
| tree | 8f1335b0b2b9bbaad1584b28cdaa77b7a1f835b0 | |
| parent | ef3d7714f6b75b51825ad0384b5ce48358427e50 (diff) | |
| parent | a83479545d0e693da0886fd28d041d3a5c1bc966 (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.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) | |||
| 72 | cascade = irq_cascade + irq; | 72 | cascade = irq_cascade + irq; |
| 73 | if (cascade->get_irq != NULL) { | 73 | if (cascade->get_irq != NULL) { |
| 74 | unsigned int source_irq = irq; | 74 | unsigned int source_irq = irq; |
| 75 | int ret; | ||
| 75 | desc = irq_desc + source_irq; | 76 | desc = irq_desc + source_irq; |
| 76 | if (desc->chip->mask_ack) | 77 | if (desc->chip->mask_ack) |
| 77 | desc->chip->mask_ack(source_irq); | 78 | desc->chip->mask_ack(source_irq); |
| @@ -79,8 +80,9 @@ static void irq_dispatch(unsigned int irq) | |||
| 79 | desc->chip->mask(source_irq); | 80 | desc->chip->mask(source_irq); |
| 80 | desc->chip->ack(source_irq); | 81 | desc->chip->ack(source_irq); |
| 81 | } | 82 | } |
| 82 | irq = cascade->get_irq(irq); | 83 | ret = cascade->get_irq(irq); |
| 83 | if (irq < 0) | 84 | irq = ret; |
| 85 | if (ret < 0) | ||
| 84 | atomic_inc(&irq_err_count); | 86 | atomic_inc(&irq_err_count); |
| 85 | else | 87 | else |
| 86 | irq_dispatch(irq); | 88 | irq_dispatch(irq); |
