diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-11 19:21:34 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-11 19:21:34 +0100 |
commit | 8d3de01cfa37bfcf54f1d84eafb7db8530b74199 (patch) | |
tree | 678dd70a76d7a50df4da9a37a59f09957e4a7ddd /drivers/firewire | |
parent | Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/v... (diff) | |
parent | firewire: ohci: fix JMicron JMB38x IT context discovery (diff) | |
download | linux-8d3de01cfa37bfcf54f1d84eafb7db8530b74199.tar.xz linux-8d3de01cfa37bfcf54f1d84eafb7db8530b74199.zip |
Merge tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
Pull firewire fix from Stefan Richter:
"Work around JMicron initialization quirk, which ffected isochronous
transmission, e.g. audio via FFADO or ALSA"
* tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
firewire: ohci: fix JMicron JMB38x IT context discovery
Diffstat (limited to 'drivers/firewire')
-rw-r--r-- | drivers/firewire/ohci.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index f51d376d10ba..c2f5117fd8cb 100644 --- a/drivers/firewire/ohci.c +++ b/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); |