On Sat, Jan 23, 2010 at 1:58 PM, Oliver Endriss <o.endriss@xxxxxx> wrote: > Manu Abraham wrote: >> Hi Oliver, >> >> On Sat, Jan 23, 2010 at 7:09 AM, Oliver Endriss <o.endriss@xxxxxx> wrote: >> > Manu Abraham wrote: >> >> On Fri, Jan 22, 2010 at 11:40 PM, Devin Heitmueller >> >> <dheitmueller@xxxxxxxxxxxxxx> wrote: >> >> > Also, the dvb_frontend.c makes calls to i2c_gate_ctrl() at various >> >> > points, so you would need to ensure that none of those occur before >> >> > calling into your driver as there could potentially be a deadlock >> >> > there too. >> >> >> >> Ok, thanks for the pointer. The gate control is never called >> >> externally in reality. I will wait a little while for this patch to be >> >> applied. It removes the exported function and thereby an unnecessary >> >> dereference. >> >> >> >> http://jusst.de/hg/stv090x/rev/b3d28f5b2b53 >> > >> > Imho not a good idea, as the frontend thread calls >> > - fe->ops.tuner_ops.init >> > - fe->ops.tuner_ops.sleep >> > >> > If you remove fe->ops.i2c_gate_ctrl, init and sleep will fail, >> > because gate_ctrl was never called... >> >> >> tuner Init is already called within the demodulator control loop: ie, init >> I have moved in tuner Sleep likewise. >> >> http://jusst.de/hg/stv090x/rev/5699b0d87a12 >> >> I think that would fix the issues at hand ... >> >> >> Thanks for the pointer, > > + if (state->config->tuner_init) { > + if (state->config->tuner_sleep(fe) < 0) > + goto err_gateoff; > + } > + > > s/tuner_init/tuner_sleep I noticed that immediately after writing that email, fixed in the next commit after that, also the gate control has been added in there, which is also necessary. > Btw, these NULL initialisations could be removed: > .tuner_init = NULL, > + .tuner_sleep = NULL, > .tuner_set_mode = NULL, > .tuner_set_frequency = NULL, > .tuner_get_frequency = NULL, > Ah, ok. I will remove them. Regards, Manu -- 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