diff options
Diffstat (limited to 'drivers/ieee1394/ohci1394.c')
-rw-r--r-- | drivers/ieee1394/ohci1394.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c index 8c43065a6055..643094c3339c 100644 --- a/drivers/ieee1394/ohci1394.c +++ b/drivers/ieee1394/ohci1394.c | |||
@@ -580,6 +580,7 @@ static void ohci_initialize(struct ti_ohci *ohci) | |||
580 | OHCI1394_isochRx | | 580 | OHCI1394_isochRx | |
581 | OHCI1394_isochTx | | 581 | OHCI1394_isochTx | |
582 | OHCI1394_postedWriteErr | | 582 | OHCI1394_postedWriteErr | |
583 | OHCI1394_cycleTooLong | | ||
583 | OHCI1394_cycleInconsistent); | 584 | OHCI1394_cycleInconsistent); |
584 | 585 | ||
585 | /* Enable link */ | 586 | /* Enable link */ |
@@ -2386,6 +2387,15 @@ static irqreturn_t ohci_irq_handler(int irq, void *dev_id, | |||
2386 | PRINT(KERN_ERR, "physical posted write error"); | 2387 | PRINT(KERN_ERR, "physical posted write error"); |
2387 | /* no recovery strategy yet, had to involve protocol drivers */ | 2388 | /* no recovery strategy yet, had to involve protocol drivers */ |
2388 | } | 2389 | } |
2390 | if (event & OHCI1394_cycleTooLong) { | ||
2391 | if(printk_ratelimit()) | ||
2392 | PRINT(KERN_WARNING, "isochronous cycle too long"); | ||
2393 | else | ||
2394 | DBGMSG("OHCI1394_cycleTooLong"); | ||
2395 | reg_write(ohci, OHCI1394_LinkControlSet, | ||
2396 | OHCI1394_LinkControl_CycleMaster); | ||
2397 | event &= ~OHCI1394_cycleTooLong; | ||
2398 | } | ||
2389 | if (event & OHCI1394_cycleInconsistent) { | 2399 | if (event & OHCI1394_cycleInconsistent) { |
2390 | /* We subscribe to the cycleInconsistent event only to | 2400 | /* We subscribe to the cycleInconsistent event only to |
2391 | * clear the corresponding event bit... otherwise, | 2401 | * clear the corresponding event bit... otherwise, |