From: Malcolm Priestley Date: Mon, 14 May 2012 19:43:50 +0000 (-0300) Subject: [media] m88rs2000 - only flip bit 2 on reg 0x70 on 16th try X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e58c11f234b58a7692bd41ecb775b4062ea45b83;p=linux-beck.git [media] m88rs2000 - only flip bit 2 on reg 0x70 on 16th try Continuous flip of bit2 reg 0x70 can cause device to become unresponsive. Also correct reg read mistake. Signed-off-by: Malcolm Priestley Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb/frontends/m88rs2000.c b/drivers/media/dvb/frontends/m88rs2000.c index 0ad5bd8c1834..312588e84dae 100644 --- a/drivers/media/dvb/frontends/m88rs2000.c +++ b/drivers/media/dvb/frontends/m88rs2000.c @@ -787,13 +787,13 @@ static int m88rs2000_set_frontend(struct dvb_frontend *fe) return -ENODEV; for (i = 0; i < 25; i++) { - u8 reg = m88rs2000_demod_read(state, 0x8c); + reg = m88rs2000_demod_read(state, 0x8c); if ((reg & 0x7) == 0x7) { status = FE_HAS_LOCK; break; } state->no_lock_count++; - if (state->no_lock_count > 15) { + if (state->no_lock_count == 15) { reg = m88rs2000_demod_read(state, 0x70); reg ^= 0x4; m88rs2000_demod_write(state, 0x70, reg);