Commit 5dc8526b authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] dib8000: Properly represent long long integers

When compiling with avr32, it gets those errors:

	drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_get_stats':
	drivers/media/dvb-frontends/dib8000.c:4121: warning: integer constant is too large for 'long' type

Fix integer representation to avoid overflow.
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 6fcd3b61
...@@ -4118,7 +4118,7 @@ static int dib8000_get_stats(struct dvb_frontend *fe, fe_status_t stat) ...@@ -4118,7 +4118,7 @@ static int dib8000_get_stats(struct dvb_frontend *fe, fe_status_t stat)
/* Get UCB measures */ /* Get UCB measures */
dib8000_read_unc_blocks(fe, &val); dib8000_read_unc_blocks(fe, &val);
if (val < state->init_ucb) if (val < state->init_ucb)
state->init_ucb += 0x100000000L; state->init_ucb += 0x100000000LL;
c->block_error.stat[0].scale = FE_SCALE_COUNTER; c->block_error.stat[0].scale = FE_SCALE_COUNTER;
c->block_error.stat[0].uvalue = val + state->init_ucb; c->block_error.stat[0].uvalue = val + state->init_ucb;
...@@ -4128,7 +4128,7 @@ static int dib8000_get_stats(struct dvb_frontend *fe, fe_status_t stat) ...@@ -4128,7 +4128,7 @@ static int dib8000_get_stats(struct dvb_frontend *fe, fe_status_t stat)
time_us = dib8000_get_time_us(fe, -1); time_us = dib8000_get_time_us(fe, -1);
if (time_us) { if (time_us) {
blocks = 1250000UL * 1000000UL; blocks = 1250000ULL * 1000000ULL;
do_div(blocks, time_us * 8 * 204); do_div(blocks, time_us * 8 * 204);
c->block_count.stat[0].scale = FE_SCALE_COUNTER; c->block_count.stat[0].scale = FE_SCALE_COUNTER;
c->block_count.stat[0].uvalue += blocks; c->block_count.stat[0].uvalue += blocks;
...@@ -4191,7 +4191,7 @@ static int dib8000_get_stats(struct dvb_frontend *fe, fe_status_t stat) ...@@ -4191,7 +4191,7 @@ static int dib8000_get_stats(struct dvb_frontend *fe, fe_status_t stat)
if (!time_us) if (!time_us)
time_us = dib8000_get_time_us(fe, i); time_us = dib8000_get_time_us(fe, i);
if (time_us) { if (time_us) {
blocks = 1250000UL * 1000000UL; blocks = 1250000ULL * 1000000ULL;
do_div(blocks, time_us * 8 * 204); do_div(blocks, time_us * 8 * 204);
c->block_count.stat[0].scale = FE_SCALE_COUNTER; c->block_count.stat[0].scale = FE_SCALE_COUNTER;
c->block_count.stat[0].uvalue += blocks; c->block_count.stat[0].uvalue += blocks;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment