[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>
This commit is contained in:
roel kluin 2008-09-15 20:50:54 -04:00 коммит произвёл Ralf Baechle
Родитель bc45eb8950
Коммит a83479545d
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -72,6 +72,7 @@ static void irq_dispatch(unsigned int irq)
cascade = irq_cascade + irq; cascade = irq_cascade + irq;
if (cascade->get_irq != NULL) { if (cascade->get_irq != NULL) {
unsigned int source_irq = irq; unsigned int source_irq = irq;
int ret;
desc = irq_desc + source_irq; desc = irq_desc + source_irq;
if (desc->chip->mask_ack) if (desc->chip->mask_ack)
desc->chip->mask_ack(source_irq); desc->chip->mask_ack(source_irq);
@ -79,8 +80,9 @@ static void irq_dispatch(unsigned int irq)
desc->chip->mask(source_irq); desc->chip->mask(source_irq);
desc->chip->ack(source_irq); desc->chip->ack(source_irq);
} }
irq = cascade->get_irq(irq); ret = cascade->get_irq(irq);
if (irq < 0) irq = ret;
if (ret < 0)
atomic_inc(&irq_err_count); atomic_inc(&irq_err_count);
else else
irq_dispatch(irq); irq_dispatch(irq);