[media] mxl5005s: fix: don't discard bandwidth changes
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 21 Dec 2011 10:13:50 +0000 (07:13 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 31 Dec 2011 10:27:11 +0000 (08:27 -0200)
There is a bug on mxl5005s logic: when the bandwidth changes, but using
the same delivery system, the code discard the set_params()
reconfiguration request.

This was happening because, in the previous coding, the bandwidth
calculus were after the check for delivery system changes.

The previous patch changed the logic to estimate the bandwidth to
happend together with the changes at the delivery system.

So, with a one-statement change, it is possible to make the tuner to
reconfigure, in order to adjust to bandwidth changes. this will
likely fix issues on countries that use 7MHz/8MHz DVB-T channels.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/tuners/mxl5005s.c

index c63f7676992be04386b54d7782f6b6a81cc2dfc7..c35d3551410eaeb25a1876ad91a0fc87266f9f0b 100644 (file)
@@ -4019,7 +4019,8 @@ static int mxl5005s_set_params(struct dvb_frontend *fe,
        }
 
        /* Change tuner for new modulation type if reqd */
-       if (req_mode != state->current_mode) {
+       if (req_mode != state->current_mode ||
+           req_bw != state->Chan_Bandwidth) {
                state->current_mode = req_mode;
                ret = mxl5005s_reconfigure(fe, req_mode, req_bw);