The problem is that the following line was deleted from the FE_SET_FRONTEND ioctl logic:

        fepriv->parameters_out = fepriv->parameters_in;

The following dirty little patch restores the correct behaviour:

--- dvb_frontend.c.orig 2012-04-06 13:28:43.000000000 +0100
+++ dvb_frontend.c      2012-04-06 15:42:04.000000000 +0100
@@ -1877,6 +1877,8 @@
        if (c->hierarchy == HIERARCHY_NONE && c->code_rate_LP == FEC_NONE)
                c->code_rate_LP = FEC_AUTO;

+       fepriv->parameters_out.frequency = c->frequency;
+
        /* get frontend-specific tuning settings */
        memset(&fetunesettings, 0, sizeof(struct dvb_frontend_tune_settings));
if (fe->ops.get_tune_settings && (fe->ops.get_tune_settings(fe, &fetunesettings) == 0)) {

I'm hoping that someone out there who understands the new logic better than I can provide a better patch.

Cheers,
Chris
--
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

Reply via email to