diff options
Diffstat (limited to 'drivers/firewire/fw-ohci.c')
-rw-r--r-- | drivers/firewire/fw-ohci.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index a9f2d07e7c65..74d5d945f200 100644 --- a/drivers/firewire/fw-ohci.c +++ b/drivers/firewire/fw-ohci.c | |||
@@ -1079,6 +1079,13 @@ static irqreturn_t irq_handler(int irq, void *data) | |||
1079 | if (unlikely(event & OHCI1394_postedWriteErr)) | 1079 | if (unlikely(event & OHCI1394_postedWriteErr)) |
1080 | fw_error("PCI posted write error\n"); | 1080 | fw_error("PCI posted write error\n"); |
1081 | 1081 | ||
1082 | if (unlikely(event & OHCI1394_cycleTooLong)) { | ||
1083 | if (printk_ratelimit()) | ||
1084 | fw_notify("isochronous cycle too long\n"); | ||
1085 | reg_write(ohci, OHCI1394_LinkControlSet, | ||
1086 | OHCI1394_LinkControl_cycleMaster); | ||
1087 | } | ||
1088 | |||
1082 | if (event & OHCI1394_cycle64Seconds) { | 1089 | if (event & OHCI1394_cycle64Seconds) { |
1083 | cycle_time = reg_read(ohci, OHCI1394_IsochronousCycleTimer); | 1090 | cycle_time = reg_read(ohci, OHCI1394_IsochronousCycleTimer); |
1084 | if ((cycle_time & 0x80000000) == 0) | 1091 | if ((cycle_time & 0x80000000) == 0) |
@@ -1152,8 +1159,8 @@ static int ohci_enable(struct fw_card *card, u32 *config_rom, size_t length) | |||
1152 | OHCI1394_RQPkt | OHCI1394_RSPkt | | 1159 | OHCI1394_RQPkt | OHCI1394_RSPkt | |
1153 | OHCI1394_reqTxComplete | OHCI1394_respTxComplete | | 1160 | OHCI1394_reqTxComplete | OHCI1394_respTxComplete | |
1154 | OHCI1394_isochRx | OHCI1394_isochTx | | 1161 | OHCI1394_isochRx | OHCI1394_isochTx | |
1155 | OHCI1394_postedWriteErr | OHCI1394_cycle64Seconds | | 1162 | OHCI1394_postedWriteErr | OHCI1394_cycleTooLong | |
1156 | OHCI1394_masterIntEnable); | 1163 | OHCI1394_cycle64Seconds | OHCI1394_masterIntEnable); |
1157 | 1164 | ||
1158 | /* Activate link_on bit and contender bit in our self ID packets.*/ | 1165 | /* Activate link_on bit and contender bit in our self ID packets.*/ |
1159 | if (ohci_update_phy_reg(card, 4, 0, | 1166 | if (ohci_update_phy_reg(card, 4, 0, |