[linux-dvb] S2API tune return code - potential problem?

Alex Betis alex.betis at gmail.com
Wed Nov 12 21:32:51 CET 2008


Hi All,

A question regarding the error code returned from the driver when using
DTV_TUNE property.
Following the code I came to dvb_frontend_ioctl_legacy function and reached
the FE_SET_FRONTEND case.
Looking on the logic I couldn't see any handling of error tuning, an event
is added to the frontend and zero is returned:

        fepriv->state = FESTATE_RETUNE;
        dvb_frontend_wakeup(fe);
        dvb_frontend_add_event(fe, 0);
        fepriv->status = 0;
        err = 0;
        break;

How should an application know that DTV_TUNE command succeed?
Monitoring the LOCK bit is not good, here's an example why I ask the
question:

Assuming the cx24116 driver is locked on a channel. Application sends tune
command to another channel while specifying
AUTO settings for modulation and FEC. The driver for that chip cant handle
AUTO settings and return error, while its still connected
to previous channel. So in that case LOCK bit will be ON, while the tune
command was ignored.

I thought of an workaround to query the driver for locked frequency and
check whenever its in bounds of frequency that was ordered
to be tuned + - some delta, but that's a very dirty solution.

Any thoughts? Or I'm missing something?

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20081112/377f8e0b/attachment.htm 


More information about the linux-dvb mailing list