From: Julia Lawall <julia@xxxxxxx> In each case, error codes are stored in rc, but the return value is always 0. Return rc instead. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ local idexpression x; constant C; @@ if (...) { ... x = -C ... when != x ( return <+...x...+>; | return NULL; | return; | * return ...; ) } // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> --- The changes change the semantics and are not tested. In the second case, the function is used in only one place and the return value is igored. drivers/media/dvb/frontends/drx397xD.c | 2 +- drivers/media/video/s2255drv.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/dvb/frontends/drx397xD.c b/drivers/media/dvb/frontends/drx397xD.c index f74cca6..a05007c 100644 --- a/drivers/media/dvb/frontends/drx397xD.c +++ b/drivers/media/dvb/frontends/drx397xD.c @@ -232,7 +232,7 @@ static int write_fw(struct drx397xD_state *s, enum blob_ix ix) exit_rc: read_unlock(&fw[s->chip_rev].lock); - return 0; + return rc; } /* Function is not endian safe, use the RD16 wrapper below */ diff --git a/drivers/media/video/s2255drv.c b/drivers/media/video/s2255drv.c index 8ec7c9a..8f74341 100644 --- a/drivers/media/video/s2255drv.c +++ b/drivers/media/video/s2255drv.c @@ -600,7 +600,7 @@ static int s2255_got_frame(struct s2255_channel *channel, int jpgsize) dprintk(2, "%s: [buf/i] [%p/%d]\n", __func__, buf, buf->vb.i); unlock: spin_unlock_irqrestore(&dev->slock, flags); - return 0; + return rc; } static const struct s2255_fmt *format_by_fourcc(int fourcc) -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html