Without knowing if this is appropriate or not, as a test, I replaced the 3 occurrences of "IRQF_SHARED | IRQF_DISABLED" by simply "IRQF_SHARED" in cx88 driver. The number of pci_abort was considerably reduced but I still get some. Again, this was just a try, not a patch proposal. And it seems not to be a final solution, but it just changed the behavior a little bit. Any other idea ? -Thierry > -----Message d'origine----- > De : linux-media-owner@xxxxxxxxxxxxxxx [mailto:linux-media-owner@xxxxxxxxxxxxxxx] De la part de > Thierry LELEGARD > Envoyé : vendredi 7 mai 2010 11:38 > À : Paul Shepherd; linux-media@xxxxxxxxxxxxxxx > Objet : RE: cx88 pci_abort errors (Hauppauge WinTV Nova-HD-S2) > > Hi, > > The firmware version can be seen using dmesg the first time > the tuner is actually used after power up. From dmesg: > > cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)... > cx88-mpeg driver manager 0000:05:05.2: firmware: requesting dvb-fe-cx24116.fw > cx24116_firmware_ondemand: Waiting for firmware upload(2)... > cx24116_load_firmware: FW version 1.26.90.0 > cx24116_firmware_ondemand: Firmware upload complete > > By removing or swapping cards on the PCI bus, I can see that > the number of "cx88[0]: irq mpeg [0x80000] pci_abort" varies. > From once every 10 seconds, at best, to once per second, at > worst. > > The following message can be interesting: > IRQ 17/cx88[0]: IRQF_DISABLED is not guaranteed on shared IRQs > > After some googling, I saw messages mentioning that this kind > of message can be the symptom of unexpected behaviors. Could > this explain the pci_abort ? > > Also, some messages suggest that a driver code should not > request both IRQF_DISABLED and IRQF_SHARED. In the complete > v4l-dvb source code, this combination is found only 20 times, > in 12 drivers, including the cx88. > > Could this be a problem in the driver ? > > -Thierry > > > -----Message d'origine----- > > De : Paul Shepherd [mailto:paul@xxxxxxxxxxxxxxxxx] > > Envoyé : jeudi 6 mai 2010 20:59 > > À : linux-media@xxxxxxxxxxxxxxx > > Cc : Thierry LELEGARD > > Objet : Re: cx88 pci_abort errors (Hauppauge WinTV Nova-HD-S2) > > > > > > On 06/05/2010 16:01, Thierry LELEGARD wrote: > > > > > > > > I recently added a Hauppauge WinTV Nova-HD-S2 into a Linux system. > > > I experience frequent packet loss and pci_abort errors. > > > > > > Each time my application detects packet loss (continuity errors > > > actually), I get the following messages in dmesg: > > > > > > cx88[0]: irq mpeg [0x80000] pci_abort* > > > cx88[0]/2-mpeg: general errors: 0x00080000 > > > > > > Such problems occur every few seconds. > > > > > > I use firmware file dvb-fe-cx24116.fw version 1.26.90.0. > > > > > > Since the IRQ was shared with the nVidia card and a Dektec modulator, > > > I swapped some PCI boards. The IRQ is still shared but with another > > > Tuner I do not use when using the S2 tuner. After swapping the PCI > > > boards, the errors occur less frequently but still happen. > > > > > > Assuming that the pci_abort was due to an interrupted DMA transfer, I > > > tried to increase the PCI latency timer of the device to 248 but this > > > did not change anything (setpci -s 05:05 latency_timer=f8). > > > > > > I use the tuner with a custom application which reads the complete > > > Transport stream. This application had worked for years using DVB-T > > > and DVB-S tuners. I tried to reduce the application read buffer > > > input size and it did not change anything at all. > > > > > > Note that my application still uses the V3 API, not the S2API. But, > > > using DVB-S transponders, it works (except the pci_abort errors). > > > > > > I disabled the serial port, the parallel port and the PS/2 ports in the > > > BIOS. It did not change anything either. > > > > > > Does anyone have an idea, please? > > > Thanks a lot in advance for any help. > > > -Thierry > > > > I have the board working in a Ubuntu 9.10 system, log below shows no pci > > errors: > > > > > Apr 21 18:32:11 antec300 kernel: [ 16.576416] cx88/2: cx2388x MPEG-TS Driver Manager version > 0.0.7 > > loaded > > > Apr 21 18:32:11 antec300 kernel: [ 16.576711] cx88[0]: subsystem: 0070:6906, board: Hauppauge > > WinTV-HVR4000(Lite) DVB-S/S2 [card=69,autodetected], frontend(s): 1 > > > Apr 21 18:32:11 antec300 kernel: [ 16.576714] cx88[0]: TV tuner type -1, Radio tuner type -1 > > > Apr 21 18:32:11 antec300 kernel: [ 16.583565] cx88/0: cx2388x v4l2 driver version 0.0.7 loaded > > > Apr 21 18:32:11 antec300 kernel: [ 16.586270] cx2388x alsa driver version 0.0.7 loaded > > > Apr 21 18:32:11 antec300 kernel: [ 16.605679] EXT4-fs (sda1): internal journal on sda1:8 > > > Apr 21 18:32:11 antec300 kernel: [ 16.755834] EXT4-fs (sdc1): barriers enabled > > > Apr 21 18:32:11 antec300 kernel: [ 16.757791] kjournald2 starting: pid 956, dev sdc1:8, commit > > interval 5 seconds > > > Apr 21 18:32:11 antec300 kernel: [ 16.763057] EXT4-fs (sdc1): internal journal on sdc1:8 > > > Apr 21 18:32:11 antec300 kernel: [ 16.763061] EXT4-fs (sdc1): delayed allocation enabled > > > Apr 21 18:32:11 antec300 kernel: [ 16.763063] EXT4-fs: file extents enabled > > > Apr 21 18:32:11 antec300 kernel: [ 16.789147] EXT4-fs: mballoc enabled > > > Apr 21 18:32:11 antec300 kernel: [ 16.789163] EXT4-fs (sdc1): mounted filesystem with ordered > data > > mode > > > Apr 21 18:32:11 antec300 kernel: [ 16.795868] tveeprom 2-0050: Hauppauge model 69100, rev B4C3, > > serial# 7084390 > > > Apr 21 18:32:11 antec300 kernel: [ 16.795871] tveeprom 2-0050: MAC address is 00:0d:fe:6c:19:66 > > > Apr 21 18:32:11 antec300 kernel: [ 16.795874] tveeprom 2-0050: tuner model is Conexant CX24118A > > (idx 123, type 4) > > > Apr 21 18:32:11 antec300 kernel: [ 16.795876] tveeprom 2-0050: TV standards ATSC/DVB Digital > > (eeprom 0x80) > > > Apr 21 18:32:11 antec300 kernel: [ 16.795878] tveeprom 2-0050: audio processor is None (idx 0) > > > Apr 21 18:32:11 antec300 kernel: [ 16.795880] tveeprom 2-0050: decoder processor is CX880 (idx > 20) > > > Apr 21 18:32:11 antec300 kernel: [ 16.795882] tveeprom 2-0050: has no radio, has IR receiver, > has > > no IR transmitter > > > Apr 21 18:32:11 antec300 kernel: [ 16.795884] cx88[0]: hauppauge eeprom: model=69100 > > > Apr 21 18:32:11 antec300 kernel: [ 16.798457] input: cx88 IR (Hauppauge WinTV-HVR400 as > > /devices/pci0000:00/0000:00:1e.0/0000:06:02.2/input/input6 > > > Apr 21 18:32:11 antec300 kernel: [ 16.798488] cx88[0]/2: cx2388x 8802 Driver Manager > > > Apr 21 18:32:11 antec300 kernel: [ 16.798500] cx88-mpeg driver manager 0000:06:02.2: PCI INT A - > > > > GSI 19 (level, low) -> IRQ 19 > > > Apr 21 18:32:11 antec300 kernel: [ 16.798506] cx88[0]/2: found at 0000:06:02.2, rev: 5, irq: 19, > > latency: 32, mmio: 0xf8000000 > > > Apr 21 18:32:11 antec300 kernel: [ 16.798510] IRQ 19/cx88[0]: IRQF_DISABLED is not guaranteed on > > shared IRQs > > > Apr 21 18:32:11 antec300 kernel: [ 16.799143] cx8800 0000:06:02.0: PCI INT A -> GSI 19 (level, > > low) -> IRQ 19 > > > Apr 21 18:32:11 antec300 kernel: [ 16.799151] cx88[0]/0: found at 0000:06:02.0, rev: 5, irq: 19, > > latency: 32, mmio: 0xfa000000 > > > Apr 21 18:32:11 antec300 kernel: [ 16.799158] IRQ 19/cx88[0]: IRQF_DISABLED is not guaranteed on > > shared IRQs > > > Apr 21 18:32:11 antec300 kernel: [ 16.799193] cx88[0]/0: registered device video0 [v4l2] > > > Apr 21 18:32:11 antec300 kernel: [ 16.799210] cx88[0]/0: registered device vbi0 > > > Apr 21 18:32:11 antec300 kernel: [ 16.802095] cx88_audio 0000:06:02.1: PCI INT A -> GSI 19 > (level, > > low) -> IRQ 19 > > > Apr 21 18:32:11 antec300 kernel: [ 16.802102] IRQ 19/cx88[0]: IRQF_DISABLED is not guaranteed on > > shared IRQs > > > Apr 21 18:32:11 antec300 kernel: [ 16.802122] cx88[0]/1: CX88x/0: ALSA support for cx2388x > boards > > > Apr 21 18:32:11 antec300 kernel: [ 17.166889] cx88/2: cx2388x dvb driver version 0.0.7 loaded > > > Apr 21 18:32:11 antec300 kernel: [ 17.166893] cx88/2: registering cx8802 driver, type: dvb > access: > > shared > > > Apr 21 18:32:11 antec300 kernel: [ 17.166897] cx88[0]/2: subsystem: 0070:6906, board: Hauppauge > > WinTV-HVR4000(Lite) DVB-S/S2 [card=69] > > > Apr 21 18:32:11 antec300 kernel: [ 17.166902] cx88[0]/2: cx2388x based DVB/ATSC card > > > Apr 21 18:32:11 antec300 kernel: [ 17.166905] cx8802_alloc_frontends() allocating 1 frontend(s) > > > > Not sure which .fw file was loaded (it just worked). If you would like > > further info let me know. > > > > paul > > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html