Em Thu, 19 Nov 2015 21:03:59 +0100 Matthias Schwarzott <zzam@xxxxxxxxxx> escreveu: Please, add a description to your patches. That's said, this patch should be called, instead: si2165: Fix DVB-T bandwidth auto DVB auto bandwidth mode (bandwidth_hz == 0) logic was setting the initial value for dvb_rate to a wrong value. Fix it. as a zero value here means to let the frontend to auto-detect the bandwidth. Of course, assuming that si2165 is capable of doing that. If si2165 chip or driver doesn't support bandwidth auto-detection, it should, instead, return -EINVAL. Are you sure that it will auto-detect the bandwidth if we keep it as 8MHz? Regards, Mauro > Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> > --- > drivers/media/dvb-frontends/si2165.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c > index 807a3c9..e97b0e6 100644 > --- a/drivers/media/dvb-frontends/si2165.c > +++ b/drivers/media/dvb-frontends/si2165.c > @@ -811,19 +811,18 @@ static int si2165_set_frontend(struct dvb_frontend *fe) > u8 val[3]; > u32 dvb_rate = 0; > u16 bw10k; > + u32 bw_hz = p->bandwidth_hz; > > dprintk("%s: called\n", __func__); > > if (!state->has_dvbt) > return -EINVAL; > > - if (p->bandwidth_hz > 0) { > - dvb_rate = p->bandwidth_hz * 8 / 7; > - bw10k = p->bandwidth_hz / 10000; > - } else { > - dvb_rate = 8 * 8 / 7; > - bw10k = 800; > - } > + if (bw_hz == 0) > + bw_hz = 8000000; > + > + dvb_rate = bw_hz * 8 / 7; > + bw10k = bw_hz / 10000; > > /* standard = DVB-T */ > ret = si2165_writereg8(state, 0x00ec, 0x01); -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html