From ba5ac19ca70ce7b2abb913882fb7f9e7792521d5 Mon Sep 17 00:00:00 2001 From: Alexey Khoroshilov Date: Tue, 6 Mar 2012 17:08:16 -0300 Subject: [PATCH] --- yaml --- r: 295068 b: refs/heads/master c: 9bb24a7e49c33c16c4d9d7d3496f46626e573d02 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/frontends/dib9000.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 492f9db213dd..c7af5f8d1b29 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b47acf2a161b2f3001bf50dfa740477db6d32327 +refs/heads/master: 9bb24a7e49c33c16c4d9d7d3496f46626e573d02 diff --git a/trunk/drivers/media/dvb/frontends/dib9000.c b/trunk/drivers/media/dvb/frontends/dib9000.c index 863ef3cfab9f..d96b6a1e65d9 100644 --- a/trunk/drivers/media/dvb/frontends/dib9000.c +++ b/trunk/drivers/media/dvb/frontends/dib9000.c @@ -2208,6 +2208,7 @@ static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) DibAcquireLock(&state->platform.risc.mem_mbx_lock); if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { + DibReleaseLock(&state->platform.risc.mem_mbx_lock); ret = -EIO; goto error; } @@ -2233,8 +2234,10 @@ static u32 dib9000_get_snr(struct dvb_frontend *fe) u16 val; DibAcquireLock(&state->platform.risc.mem_mbx_lock); - if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) + if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { + DibReleaseLock(&state->platform.risc.mem_mbx_lock); return -EIO; + } dib9000_risc_mem_read(state, FE_MM_R_FE_MONITOR, (u8 *) c, 16 * 2); DibReleaseLock(&state->platform.risc.mem_mbx_lock); @@ -2291,6 +2294,7 @@ static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) DibAcquireLock(&state->demod_lock); DibAcquireLock(&state->platform.risc.mem_mbx_lock); if (dib9000_fw_memmbx_sync(state, FE_SYNC_CHANNEL) < 0) { + DibReleaseLock(&state->platform.risc.mem_mbx_lock); ret = -EIO; goto error; }