Bläddra i källkod

[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>
Michael Büsch 12 år sedan
förälder
incheckning
03a497d4b4
1 ändrade filer med 2 tillägg och 7 borttagningar
  1. 2 7
      drivers/media/tuners/fc0011.c

+ 2 - 7
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;