Manu Abraham wrote:
> Hi Oliver,
>
> On Sat, Jan 23, 2010 at 7:09 AM, Oliver Endriss <[email protected]> wrote:
> > Manu Abraham wrote:
> >> On Fri, Jan 22, 2010 at 11:40 PM, Devin Heitmueller
> >> <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html