summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Bossier <vincent.bossier@gmail.com>2011-06-02 10:30:02 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-28 21:06:12 (GMT)
commit56fc508186dbec9aca46cd034ef12358fc044ac1 (patch)
tree8ed87c15ba3f4b8ce1447d363c284c34785a1116
parent584721cab2bdd26f63bfeca60c83f5e6b8eee7d0 (diff)
downloadlinux-56fc508186dbec9aca46cd034ef12358fc044ac1.tar.xz
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 <vincent.bossier@gmail.com> Acked-by: Martyn Welch <martyn.welch@ge.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/vme/bridges/vme_ca91cx42.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/vme/bridges/vme_ca91cx42.c b/drivers/staging/vme/bridges/vme_ca91cx42.c
index 1c94ae6..6aad34b 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;
}