aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/ohci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire/ohci.c')
-rw-r--r--drivers/firewire/ohci.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index 8ebccda94df..525848f71c3 100644
--- a/drivers/firewire/ohci.c
+++ b/drivers/firewire/ohci.c
@@ -490,6 +490,13 @@ static int ohci_update_phy_reg(struct fw_card *card, int addr,
490 if (err < 0) 490 if (err < 0)
491 return err; 491 return err;
492 492
493 /*
494 * The interrupt status bits are cleared by writing a one bit.
495 * Avoid clearing them unless explicitly requested in set_bits.
496 */
497 if (addr == 5)
498 clear_bits |= PHY_INT_STATUS_BITS;
499
493 old = (old & ~clear_bits) | set_bits; 500 old = (old & ~clear_bits) | set_bits;
494 reg_write(ohci, OHCI1394_PhyControl, 501 reg_write(ohci, OHCI1394_PhyControl,
495 OHCI1394_PhyControl_Write(addr, old)); 502 OHCI1394_PhyControl_Write(addr, old));