diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-08-28 07:26:03 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-09-05 09:59:34 -0400 |
commit | 4fe0badd5882c64dc2dcd8893f9b85db63339736 (patch) | |
tree | d84d7773171be1a0a4cfacd646e0b7e2754a8089 /drivers/firewire | |
parent | fc383796a8cc5df0a0c8633a16dd2e9528a16a63 (diff) |
firewire: ohci: fix Ricoh R5C832, video reception
In dual-buffer DMA mode, no video frames are ever received from R5C832
by libdc1394. Fallback to packet-per-buffer DMA works reliably.
http://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus=13476
Reported-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
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 3486bc49c177..76b321bb73f9 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c | |||
@@ -2431,6 +2431,11 @@ static int __devinit pci_probe(struct pci_dev *dev, | |||
2431 | dev->device == PCI_DEVICE_ID_AGERE_FW643) | 2431 | dev->device == PCI_DEVICE_ID_AGERE_FW643) |
2432 | ohci->use_dualbuffer = false; | 2432 | ohci->use_dualbuffer = false; |
2433 | 2433 | ||
2434 | /* dual-buffer mode is broken */ | ||
2435 | if (dev->vendor == PCI_VENDOR_ID_RICOH && | ||
2436 | dev->device == PCI_DEVICE_ID_RICOH_R5C832) | ||
2437 | ohci->use_dualbuffer = false; | ||
2438 | |||
2434 | /* x86-32 currently doesn't use highmem for dma_alloc_coherent */ | 2439 | /* x86-32 currently doesn't use highmem for dma_alloc_coherent */ |
2435 | #if !defined(CONFIG_X86_32) | 2440 | #if !defined(CONFIG_X86_32) |
2436 | /* dual-buffer mode is broken with descriptor addresses above 2G */ | 2441 | /* dual-buffer mode is broken with descriptor addresses above 2G */ |