diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-02-16 17:34:36 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 16:02:56 -0500 |
commit | c889475fb57bfe30091b42e58eb6b76edd355d45 (patch) | |
tree | cb79a8f06bede3e8f14e06109742c51afc543530 | |
parent | cbb59da719e413fcd499d86f49af2327893a9fdb (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.c | 4 |
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) { |