Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix for the data reception problem
yeah, good work patch fix the problem for me, too
bye
----- Original Message -----
From: "Michael Holzt" <kju@fqdn.org>
To: <linux-dvb@linuxtv.org>
Sent: Sunday, September 17, 2000 3:54 PM
Subject: Fix for the data reception problem
> Ok, i took some time to dig through the sources of driver 0.7 and found
> the bug which occured now. This bug is existant in old drivers too(!),
> but wasn't catched there (instead some internal data structures where
> used using wrong pointers, ouch!)
>
> The calculation of the bit filter in use in function debiirq, file
> dvb.c is somewhat wrong. I get filters 128, 130 ... where the maximum
> allowed value is 31 (the card can only handle 32 bitfilters). The new
> driver catches this bug in line 575
> if ((handle>=MAXFILT) || !dvb->hfilter[handle])
> break;
> where the old driver just accessed internal structures using this wrong
> index
> if (dvb->filter_flags[handle]&FILTER_MEM)
> [...]
>
>
>
> As the bitfilter can go up to 31 maximum as indicated above, i changed
> line 516 in dvb.c to read
> int handle=(type>>8) & 0x1F;
> instead of
> int handle=(type>>8);
>
>
> This fixes the bug for me, although i'm not absolutely sure if this
> really fixes the source of the problems or probably only the place
> where it occures.
>
> Our friends at convergence need to check this.
>
> --
> Greetings
> Michael
>
Home |
Main Index |
Thread Index