aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-11 13:21:34 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-11 13:21:34 -0500
commit8d3de01cfa37bfcf54f1d84eafb7db8530b74199 (patch)
tree678dd70a76d7a50df4da9a37a59f09957e4a7ddd
parent842cf0b9525813b084720a82d0d3aabc750b7ccc (diff)
parent100ceb66d5c40cc0c7018e06a9474302470be73c (diff)
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
-rw-r--r--drivers/firewire/ohci.c5
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,
3675 3675
3676 reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, ~0); 3676 reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, ~0);
3677 ohci->it_context_support = reg_read(ohci, OHCI1394_IsoXmitIntMaskSet); 3677 ohci->it_context_support = reg_read(ohci, OHCI1394_IsoXmitIntMaskSet);
3678 /* JMicron JMB38x often shows 0 at first read, just ignore it */
3679 if (!ohci->it_context_support) {
3680 ohci_notice(ohci, "overriding IsoXmitIntMask\n");
3681 ohci->it_context_support = 0xf;
3682 }
3678 reg_write(ohci, OHCI1394_IsoXmitIntMaskClear, ~0); 3683 reg_write(ohci, OHCI1394_IsoXmitIntMaskClear, ~0);
3679 ohci->it_context_mask = ohci->it_context_support; 3684 ohci->it_context_mask = ohci->it_context_support;
3680 ohci->n_it = hweight32(ohci->it_context_mask); 3685 ohci->n_it = hweight32(ohci->it_context_mask);