In case of an error function si2165_upload_firmware() releases the already requested firmware in the exit path. However, there is one deviation where the function directly returns. Use the correct cleanup so that the firmware memory gets freed correctly. Detected by Coverity CID 1269120. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> --- Compile tested only. Applies against linux-next. --- drivers/media/dvb-frontends/si2165.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c index 98ddb49ad52b..4cc5d10ed0d4 100644 --- a/drivers/media/dvb-frontends/si2165.c +++ b/drivers/media/dvb-frontends/si2165.c @@ -505,7 +505,7 @@ static int si2165_upload_firmware(struct si2165_state *state) /* reset crc */ ret = si2165_writereg8(state, 0x0379, 0x01); if (ret) - return ret; + goto error; ret = si2165_upload_firmware_block(state, data, len, &offset, block_count); -- 1.9.1 -- 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