From: Kristian Høgsberg Date: Fri, 16 Feb 2007 22:34:36 +0000 (-0500) Subject: firewire: Read the *Clear versions of the iso interrupt register. X-Git-Tag: v2.6.22-rc1~111^2~90 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c889475fb57bfe30091b42e58eb6b76edd355d45;p=linux-2.6 firewire: Read the *Clear versions of the iso interrupt register. The *Clear registers returns the masked value when read which is what we want. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index 4d54ebf0b1..72f80361fc 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) {