Re: Oops in tda10023

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Antti Palosaari wrote:
> e9hack wrote:
>> Antti Palosaari schrieb:
>>>> I think the oops occurs, because tda10023_writereg() fails in tda10023_attach(). If 
>>>> tda10023_writereg fails, an error message is printed. In this case, 
>>>> state->frontend.dvb->num is accessed, but it isn't initialized yet.
>>> hmm, I see the problem now. Originally state was initialized before 
>>> tda10023_writereg() was called but after I did some changes this is not 
>>> done anymore. And when writereg() fails in attach some reason it oops.
>> It wasn't introduced with your modifications. The frontend.dvb part is initialized after 
>> the attach call. tda10023_writereg() must check, if state->frontend.dvb is initialized or 
>> not.
> 
> yeah, you are correct. I looked through all frontend drivers and only 
> TDA10021 and TDA10023 was using dvb->num in writereg. Anyhow, TDA10021 
> is not affected because it does not write in attach.

TDA10023 uses writereg to wakeup from standby for reading chip id. I 
wonder if this is necessary at all. I will test that later.

Anyhow, I see there is two ways to fix that (only Oops from TDA10023, 
not issue why it actually fails):
1) remove state->frontend.dvb->num from tda10023_writereg()
2) remove wakeup if in standby from tda10023_attach()

Antti
-- 
http://palosaari.fi/

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux