From: Vincent Bossier Date: Thu, 2 Jun 2011 10:30:02 +0000 (+0200) Subject: Staging: VME: Fix Universe II int ack logic. X-Git-Tag: firefly_0821_release~3680^2~4924^2~520 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=56fc508186dbec9aca46cd034ef12358fc044ac1;p=firefly-linux-kernel-4.4.55.git Staging: VME: Fix Universe II int ack logic. The driver must acknowledge the interrupts that have been actually serviced, not the ones active. The current code could acknowledge an interrupt that has not been serviced at all. Signed-off-by: Vincent Bossier Acked-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vme/bridges/vme_ca91cx42.c b/drivers/staging/vme/bridges/vme_ca91cx42.c index 1c94ae6b867f..6aad34b8b3fe 100644 --- a/drivers/staging/vme/bridges/vme_ca91cx42.c +++ b/drivers/staging/vme/bridges/vme_ca91cx42.c @@ -190,7 +190,7 @@ static irqreturn_t ca91cx42_irqhandler(int irq, void *ptr) serviced |= ca91cx42_VIRQ_irqhandler(ca91cx42_bridge, stat); /* Clear serviced interrupts */ - iowrite32(stat, bridge->base + LINT_STAT); + iowrite32(serviced, bridge->base + LINT_STAT); return IRQ_HANDLED; }