summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/firewire/ohci.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/firewire/ohci.c')
-rw-r--r--kernel/drivers/firewire/ohci.c5
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);