[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 c63f767..c35d355 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);