summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorMichael Büsch <m@bues.ch>2013-02-07 12:16:55 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-02-08 17:50:33 -0200
commit03a497d4b4c5205f6a365c4673e21298e681a8a6 (patch)
treed540e1cc7df52d601de21ce330e16ce1ac30b634 /drivers/media
parentdb5c05b2a1c02e401778de348451bae49b65806e (diff)
downloadlinux-3.10-03a497d4b4c5205f6a365c4673e21298e681a8a6.tar.gz
linux-3.10-03a497d4b4c5205f6a365c4673e21298e681a8a6.tar.bz2
linux-3.10-03a497d4b4c5205f6a365c4673e21298e681a8a6.zip
[media] fc0011: Fix xin value clamping
Fix the xin value clamping and use clamp_t(). Signed-off-by: Michael Buesch <m@bues.ch> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/tuners/fc0011.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/media/tuners/fc0011.c b/drivers/media/tuners/fc0011.c
index 3089f2ebcbf..f87aa5a8b8e 100644
--- a/drivers/media/tuners/fc0011.c
+++ b/drivers/media/tuners/fc0011.c
@@ -183,8 +183,7 @@ static int fc0011_set_params(struct dvb_frontend *fe)
unsigned int i, vco_retries;
u32 freq = p->frequency / 1000;
u32 bandwidth = p->bandwidth_hz / 1000;
- u32 fvco, xin, xdiv, xdivr;
- u16 frac;
+ u32 fvco, xin, frac, xdiv, xdivr;
u8 fa, fp, vco_sel, vco_cal;
u8 regs[FC11_NR_REGS] = { };
@@ -227,12 +226,8 @@ static int fc0011_set_params(struct dvb_frontend *fe)
frac += 32786;
if (!frac)
xin = 0;
- else if (frac < 511)
- xin = 512;
- else if (frac < 65026)
- xin = frac;
else
- xin = 65024;
+ xin = clamp_t(u32, frac, 512, 65024);
regs[FC11_REG_XINHI] = xin >> 8;
regs[FC11_REG_XINLO] = xin;