From c889475fb57bfe30091b42e58eb6b76edd355d45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@redhat.com>
Date: Fri, 16 Feb 2007 17:34:36 -0500
Subject: [PATCH] firewire: Read the *Clear versions of the iso interrupt
 register.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The *Clear registers returns the masked value when read which is
what we want.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
 drivers/firewire/fw-ohci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index 4d54ebf0b192..72f80361fc43 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -847,7 +847,7 @@ static irqreturn_t irq_handler(int irq, void *data)
 	if (event & OHCI1394_respTxComplete)
 		tasklet_schedule(&ohci->at_response_ctx.tasklet);
 
-	iso_event = reg_read(ohci, OHCI1394_IsoRecvIntEventSet);
+	iso_event = reg_read(ohci, OHCI1394_IsoRecvIntEventClear);
 	reg_write(ohci, OHCI1394_IsoRecvIntEventClear, iso_event);
 
 	while (iso_event) {
@@ -856,7 +856,7 @@ static irqreturn_t irq_handler(int irq, void *data)
 		iso_event &= ~(1 << i);
 	}
 
-	iso_event = reg_read(ohci, OHCI1394_IsoXmitIntEventSet);
+	iso_event = reg_read(ohci, OHCI1394_IsoXmitIntEventClear);
 	reg_write(ohci, OHCI1394_IsoXmitIntEventClear, iso_event);
 
 	while (iso_event) {
-- 
GitLab