Manu Abraham wrote: > Hi Oliver, > > On Sat, Jan 23, 2010 at 7:09 AM, Oliver Endriss <o.endr...@gmx.de> wrote: > > Manu Abraham wrote: > >> On Fri, Jan 22, 2010 at 11:40 PM, Devin Heitmueller > >> <dheitmuel...@kernellabs.com> 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 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, (struct tt1600_stv090x_config is static anyway.) CU Oliver -- ---------------------------------------------------------------- VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/ 4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/ Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/ ---------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html