From: Mauro Carvalho Chehab Date: Tue, 23 Dec 2014 14:21:12 +0000 (-0300) Subject: [media] dib8000: upd_demod_gain_period should be u32 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=901c4ad64c53f4d29d7bd96f33d1d5aae55ad8d8;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git [media] dib8000: upd_demod_gain_period should be u32 X-Patchwork-Delegate: m.chehab@samsung.com As shown at the code, upd_demod_gain_period is used to write to two 16-bit registers: dib8000_write_word(state, 1946, upd_demod_gain_period & 0xFFFF); dib8000_write_word(state, 1947, reg | (1<<14) | ((upd_demod_gain_period >> 16) & 0xFF)); So, it should be declared as u32. This fixes the following smatch warning: drivers/media/dvb-frontends/dib8000.c:1282 dib8000_agc_startup() warn: right shifting more than type allows Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb-frontends/dib8000.c b/drivers/media/dvb-frontends/dib8000.c index 61e31f2d2f71..8c6663b6399d 100644 --- a/drivers/media/dvb-frontends/dib8000.c +++ b/drivers/media/dvb-frontends/dib8000.c @@ -1263,7 +1263,8 @@ static int dib8000_agc_startup(struct dvb_frontend *fe) struct dib8000_state *state = fe->demodulator_priv; enum frontend_tune_state *tune_state = &state->tune_state; int ret = 0; - u16 reg, upd_demod_gain_period = 0x8000; + u16 reg; + u32 upd_demod_gain_period = 0x8000; switch (*tune_state) { case CT_AGC_START: