[linux-dvb] pci_abort messages from cx88 driver

John Sager john at sager.me.uk
Wed Dec 17 15:59:16 CET 2008


This seems to have cropped up sporadically on mailing lists and fora,
with no real resolution indicated. I have just bought a Hauppauge
WinTV-NOVA-HD-S2 card (recognised as HVR4000(Lite)) which exhibits
this problem in my system. I'm running Mythbuntu 8.10 on a quad core
Intel-based system - P35/ICH9 chipset - with the v4l-dvb drivers
cloned on 16th December. I don't get the problem on first start-up,
but if I change channels it starts to appear. However it does seem to
stop sometimes on channel change. I suspect the problem is either some
kind of race condition between the Intel & Conexant PCI controllers, or
some kind of missed or wrong step in chip reconfiguration after a channel
change.

When this error occurs, the standard behaviour of the code in cx88-mpeg.c
is to stop the DMA current transfer & then restart the queue. This drops
data, leading to blocky visuals & sound glitches. As an experiment, I
changed the test for general errors in cx8802_mpeg_irq() to ignore the
pci_abort error (change 0x1f0100 to 0x170100), and this completely
eliminates the dropped data problem. This suggests that the pci transfers
complete properly and the pci_abort status is a spurious indication.
I also fixed the mask in the test for cx88_print_irqbits() to stop these
messages filling up the log (change ~0xff to ~0x800ff).

It may be worth fixing this in the main code to hide the problem for
unfortunate users of this & related cards until the real problem is
found. Unfortunately I doubt I can help there as a detailed knowledge
of the Conexant PCI interface device is probably required to pursue it.

regards,

John



More information about the linux-dvb mailing list