[mpeg2] Re: Porting kfir for kernel 2.6

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Fri Feb 18 15:26:47 CET 2005


Anssi Hannula wrote:
> Klaus Schmidinger wrote:
> 
>>
>> There is still a small problem with buffers running full, but I guess
>> this is a thread problem that has nothing to do with the kfir device, 
>> since
>> that device does deliver lots of data, while the rest of VDR is 
>> apparently
>> not starting to process it in time. But once it has started, it runs 
>> fine.
>>
> 
> My patch ignored the O_NONBLOCK, here's a bugfix (against 
> kfir-2.6-driver.tar.bz2) for that, maybe it'll help.
> 
> 
> ------------------------------------------------------------------------
> 
> diff -Nur kfir-2.6-driver-old/driver/kfir.c kfir-2.6-driver/driver/kfir.c
> --- kfir-2.6-driver-old/driver/kfir.c	2005-02-13 20:51:01.000000000 +0200
> +++ kfir-2.6-driver/driver/kfir.c	2005-02-17 22:07:06.000000000 +0200
> @@ -2614,7 +2614,7 @@
>  	struct kfir_dev *kfir = (struct kfir_dev *) dev;
>  	int todo = count;
>  	int blocksize, split;
> -	int nonblock = 0;
> +	int nonblock = file->f_flags & O_NONBLOCK;
>  	DECLARE_WAITQUEUE(wait, current);
>  	dbprintk(KERN_DEBUG "kfir: called kfir_read, nonblock=%d count=%d\n",
>  		 nonblock, count);

With this it works really good!

After letting it run for a while suddenly this happened:

Feb 18 15:19:42 video kernel: irq 5: nobody cared!
Feb 18 15:19:42 video kernel:  [<c010868c>] __report_bad_irq+0x1c/0x70
Feb 18 15:19:42 video kernel:  [<c010875b>] note_interrupt+0x5b/0x80
Feb 18 15:19:42 video kernel:  [<c010894c>] do_IRQ+0xdc/0x120
Feb 18 15:19:42 video kernel:  [<c0106cd8>] common_interrupt+0x18/0x20
Feb 18 15:19:42 video kernel:  [<c0104030>] default_idle+0x0/0x30
Feb 18 15:19:42 video kernel:  [<c0104054>] default_idle+0x24/0x30
Feb 18 15:19:42 video kernel:  [<c01040bc>] cpu_idle+0x1c/0x40
Feb 18 15:19:42 video kernel:  [<c03ce6bd>] start_kernel+0x16d/0x1d0
Feb 18 15:19:42 video kernel: handlers:
Feb 18 15:19:42 video kernel: [<d8d58eb0>] (kfir_irq+0x0/0x2f0 [kfir])
Feb 18 15:19:42 video kernel: Disabling IRQ #5


IRQ #5 is apparently the one assigned to the kfir card:


            CPU0
   0:    2748867          XT-PIC  timer
   2:          0          XT-PIC  cascade
   5:     100474          XT-PIC  kfir
  10:     140526          XT-PIC  saa7146 (2)
  11:     394979          XT-PIC  saa7146 (1)
  12:    7825916          XT-PIC  eth0, saa7146 (0)
  14:       8249          XT-PIC  ide0
  15:          0          XT-PIC  ide1
NMI:          0
LOC:          0
ERR:          0
MIS:          0


Do you have any idea what might be the problem here?

Klaus



More information about the mpeg2 mailing list