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