aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-02-16 17:34:36 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-09 16:02:56 -0500
commitc889475fb57bfe30091b42e58eb6b76edd355d45 (patch)
treecb79a8f06bede3e8f14e06109742c51afc543530
parentcbb59da719e413fcd499d86f49af2327893a9fdb (diff)
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 <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r--drivers/firewire/fw-ohci.c4
1 files 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)
847 if (event & OHCI1394_respTxComplete) 847 if (event & OHCI1394_respTxComplete)
848 tasklet_schedule(&ohci->at_response_ctx.tasklet); 848 tasklet_schedule(&ohci->at_response_ctx.tasklet);
849 849
850 iso_event = reg_read(ohci, OHCI1394_IsoRecvIntEventSet); 850 iso_event = reg_read(ohci, OHCI1394_IsoRecvIntEventClear);
851 reg_write(ohci, OHCI1394_IsoRecvIntEventClear, iso_event); 851 reg_write(ohci, OHCI1394_IsoRecvIntEventClear, iso_event);
852 852
853 while (iso_event) { 853 while (iso_event) {
@@ -856,7 +856,7 @@ static irqreturn_t irq_handler(int irq, void *data)
856 iso_event &= ~(1 << i); 856 iso_event &= ~(1 << i);
857 } 857 }
858 858
859 iso_event = reg_read(ohci, OHCI1394_IsoXmitIntEventSet); 859 iso_event = reg_read(ohci, OHCI1394_IsoXmitIntEventClear);
860 reg_write(ohci, OHCI1394_IsoXmitIntEventClear, iso_event); 860 reg_write(ohci, OHCI1394_IsoXmitIntEventClear, iso_event);
861 861
862 while (iso_event) { 862 while (iso_event) {