From: Antti Palosaari <crope@iki.fi>
To: linux-media@vger.kernel.org
Cc: Nibble Max <nibble.max@gmail.com>,
Olli Salonen <olli.salonen@iki.fi>,
Evgeny Plehov <EvgenyPlehov@ukr.net>,
Antti Palosaari <crope@iki.fi>
Subject: [GIT PULL FINAL 14/21] m88ts2022: fix 32bit overflow on filter calc
Date: Fri, 22 Aug 2014 13:58:06 +0300 [thread overview]
Message-ID: <1408705093-5167-15-git-send-email-crope@iki.fi> (raw)
In-Reply-To: <1408705093-5167-1-git-send-email-crope@iki.fi>
Maximum satellite symbol rate used is 45000000Sps which overflows
when multiplied by 135. As final calculation result is fraction,
we could use mult_frac macro in order to keep calculation inside
32 bit number limits and prevent overflow.
Original bug and fix was provided by Nibble Max. I decided to
implement it differently as it is now.
Reported-by: Nibble Max <nibble.max@gmail.com>
Tested-by: Nibble Max <nibble.max@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
drivers/media/tuners/m88ts2022.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/tuners/m88ts2022.c b/drivers/media/tuners/m88ts2022.c
index 40c42de..7a62097 100644
--- a/drivers/media/tuners/m88ts2022.c
+++ b/drivers/media/tuners/m88ts2022.c
@@ -314,7 +314,7 @@ static int m88ts2022_set_params(struct dvb_frontend *fe)
div_min = gdiv28 * 78 / 100;
div_max = clamp_val(div_max, 0U, 63U);
- f_3db_hz = c->symbol_rate * 135UL / 200UL;
+ f_3db_hz = mult_frac(c->symbol_rate, 135, 200);
f_3db_hz += 2000000U + (frequency_offset_khz * 1000U);
f_3db_hz = clamp(f_3db_hz, 7000000U, 40000000U);
--
http://palosaari.fi/
next prev parent reply other threads:[~2014-08-22 10:58 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-22 10:57 [GIT PULL FINAL 00/21] misc DTV stuff for 3.18 Antti Palosaari
2014-08-22 10:57 ` [GIT PULL FINAL 01/21] si2168: clean logging Antti Palosaari
2014-08-22 11:47 ` Mauro Carvalho Chehab
2014-08-22 12:13 ` Antti Palosaari
2014-08-22 12:28 ` Mauro Carvalho Chehab
2014-08-22 12:50 ` Antti Palosaari
2014-08-22 13:41 ` Mauro Carvalho Chehab
2014-08-22 10:57 ` [GIT PULL FINAL 02/21] si2157: " Antti Palosaari
2014-08-22 10:57 ` [GIT PULL FINAL 03/21] m88ds3103: implement set voltage and TS clock Antti Palosaari
2014-08-22 10:57 ` [GIT PULL FINAL 04/21] si2168: add ts_mode setting and move to si2168_init Antti Palosaari
2014-08-22 10:57 ` [GIT PULL FINAL 05/21] em28xx: add ts mode setting for PCTV 292e Antti Palosaari
2014-08-22 10:57 ` [GIT PULL FINAL 06/21] cxusb: add ts mode setting for TechnoTrend CT2-4400 Antti Palosaari
2014-08-22 10:57 ` [GIT PULL FINAL 07/21] sp2: Add I2C driver for CIMaX SP2 common interface module Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 08/21] cxusb: Add support for TechnoTrend TT-connect CT2-4650 CI Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 09/21] cxusb: Add read_mac_address for TT CT2-4400 and CT2-4650 Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 10/21] si2168: DVB-T2 PLP selection implemented Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 11/21] si2157: Add support for delivery system SYS_ATSC Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 12/21] dvb-usb-v2: remove dvb_usb_device NULL check Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 13/21] msi2500: remove unneeded local pointer on msi2500_isoc_init() Antti Palosaari
2014-08-22 10:58 ` Antti Palosaari [this message]
2014-08-22 10:58 ` [GIT PULL FINAL 15/21] m88ts2022: fix coding style issues Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 16/21] m88ts2022: rename device state (priv => s) Antti Palosaari
2014-09-02 18:51 ` Mauro Carvalho Chehab
2014-09-03 2:26 ` Antti Palosaari
2014-09-03 10:38 ` Mauro Carvalho Chehab
2014-09-03 10:50 ` Antti Palosaari
2014-09-03 11:47 ` Mauro Carvalho Chehab
2014-08-22 10:58 ` [GIT PULL FINAL 17/21] m88ts2022: clean up logging Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 18/21] m88ts2022: convert to RegMap I2C API Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 19/21] m88ts2022: change parameter type of m88ts2022_cmd Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 20/21] m88ds3103: change .set_voltage() implementation Antti Palosaari
2014-08-22 10:58 ` [GIT PULL FINAL 21/21] m88ds3103: fix coding style issues Antti Palosaari
2014-08-22 11:08 ` [GIT PULL FINAL 00/21] misc DTV stuff for 3.18 Antti Palosaari
2014-09-02 18:59 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1408705093-5167-15-git-send-email-crope@iki.fi \
--to=crope@iki.fi \
--cc=EvgenyPlehov@ukr.net \
--cc=linux-media@vger.kernel.org \
--cc=nibble.max@gmail.com \
--cc=olli.salonen@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox