diff options
Diffstat (limited to 'kernel/drivers/firewire/ohci.c')
-rw-r--r-- | kernel/drivers/firewire/ohci.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/drivers/firewire/ohci.c b/kernel/drivers/firewire/ohci.c index f51d376d1..c2f5117fd 100644 --- a/kernel/drivers/firewire/ohci.c +++ b/kernel/drivers/firewire/ohci.c @@ -3675,6 +3675,11 @@ static int pci_probe(struct pci_dev *dev, reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, ~0); ohci->it_context_support = reg_read(ohci, OHCI1394_IsoXmitIntMaskSet); + /* JMicron JMB38x often shows 0 at first read, just ignore it */ + if (!ohci->it_context_support) { + ohci_notice(ohci, "overriding IsoXmitIntMask\n"); + ohci->it_context_support = 0xf; + } reg_write(ohci, OHCI1394_IsoXmitIntMaskClear, ~0); ohci->it_context_mask = ohci->it_context_support; ohci->n_it = hweight32(ohci->it_context_mask); |