Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752871AbbL1VQE (ORCPT ); Mon, 28 Dec 2015 16:16:04 -0500 Received: from mout.web.de ([212.227.17.11]:54265 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752483AbbL1VP7 (ORCPT ); Mon, 28 Dec 2015 16:15:59 -0500 Subject: [PATCH] [media] airspy: Better exception handling in two functions References: <566ABCD9.1060404@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall To: linux-media@vger.kernel.org, Antti Palosaari , Mauro Carvalho Chehab From: SF Markus Elfring Message-ID: <5681A675.80504@users.sourceforge.net> Date: Mon, 28 Dec 2015 22:15:33 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <566ABCD9.1060404@users.sourceforge.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:y5rMa3jSH8JLf4Pde2AuINaqRLyB4MFC92mU0Z+Kup4frsH5bd1 KmTl7Wfk0o9xKwxSuJpWiWFNL2zPJyMaZtSj7treU36DEYfwON2UN2eE8yS6bjg7gGdr//L b5HtyI06SxNKYDTTZnWfETB5LRpxAnyNXh84UDYMMbWr3HnW8c0Aw5u7igCcyx77WIYEBW6 LpdB0AFvNcC6DY+cwVlqA== X-UI-Out-Filterresults: notjunk:1;V01:K0:hO/IWJJklck=:7eHESL/oEP/QfQVr0xIDAa Yqzf4XIp1ArtTGpNbnYOYApM1K+ejcOEdCSOt3kaB3RDaB2w2d2/hSa4Mnff0mEbMK1MewVCp 0eTOBjEbbnlrqLMiM5AzHvUxZs3TpNPYc/tGqXcxOiDGrST18p0Gq2F9VvXMXf/GsLN+/vWMV R6ebxWxo/vT4WFbhq7nOepdjz73GvvExnnLm7oLANgMgDV4J3kUcpTfKirQZRBq/PyUxZf86e z2m/vUci6GAuocv8JENunqYyPttEvk6diEVItK/F9JB5hl/mgS2MbXZNUvklRemIvkGIuo0VZ P6fF4NAGYipKmQhxMDPVDfNgTAymX2T/2lP5xSARTG3k0/RqdU0Zzoy76BHSqhtcz4Mcfwud9 HBlWT+7c9Nv+qqdp3WZ8y+VLJdMNr7v6j3wwLqsxfEix4pWA365JBUDITfGETSvLeqW00osqh lw25k/QZiST+f4QVhPHGlmOAuqtf3cwIudi3R6y8ODIFxIhDucnwta3U0l3I4HlRhOD1QywA1 CxgzOnBU3JCQ7H5bHLs+Zz1MHs2E3BEySK4rGJdleCxL2UI5ZVEsp7lJ3LCOOJqSEL1h0v3UQ OrCQX+R8IHKaZ6vKFzzdCrQw8olou8hS2ZvnCJHkoikNduU5VmLdamTqjP/+FUYwePiw1nzsy 7pDfuqTmne6F1lSqWveJ51Sl4j+yKU2qN1QyeBoQBCQQehB///mF81K1gtJ+12Y1cTkS49ujo b2r0o7kG2vKLCutWrBt6+XJXH2KTkNnvpO3hKGsBs3HOOtV8eNjJOtS99jZ2pHL3sOXwtdZpV 2oQ8ZYyqntntjhlGQW4kEKdtq/Hig== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2124 Lines: 77 From: Markus Elfring Date: Mon, 28 Dec 2015 22:10:28 +0100 This issue was detected by using the Coccinelle software. Move the jump label directly before the desired log statement so that the variable "ret" will not be checked once more after a function call. Use the identifier "report_failure" instead of "err". The error logging is performed in a separate section at the end now. Signed-off-by: Markus Elfring --- drivers/media/usb/airspy/airspy.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/media/usb/airspy/airspy.c b/drivers/media/usb/airspy/airspy.c index 0d4ac59..cf2444a 100644 --- a/drivers/media/usb/airspy/airspy.c +++ b/drivers/media/usb/airspy/airspy.c @@ -889,18 +889,17 @@ static int airspy_set_lna_gain(struct airspy *s) ret = airspy_ctrl_msg(s, CMD_SET_LNA_AGC, 0, s->lna_gain_auto->val, &u8tmp, 1); if (ret) - goto err; + goto report_failure; if (s->lna_gain_auto->val == false) { ret = airspy_ctrl_msg(s, CMD_SET_LNA_GAIN, 0, s->lna_gain->val, &u8tmp, 1); if (ret) - goto err; + goto report_failure; } -err: - if (ret) - dev_dbg(s->dev, "failed=%d\n", ret); - + return 0; +report_failure: + dev_dbg(s->dev, "failed=%d\n", ret); return ret; } @@ -916,18 +915,17 @@ static int airspy_set_mixer_gain(struct airspy *s) ret = airspy_ctrl_msg(s, CMD_SET_MIXER_AGC, 0, s->mixer_gain_auto->val, &u8tmp, 1); if (ret) - goto err; + goto report_failure; if (s->mixer_gain_auto->val == false) { ret = airspy_ctrl_msg(s, CMD_SET_MIXER_GAIN, 0, s->mixer_gain->val, &u8tmp, 1); if (ret) - goto err; + goto report_failure; } -err: - if (ret) - dev_dbg(s->dev, "failed=%d\n", ret); - + return 0; +report_failure: + dev_dbg(s->dev, "failed=%d\n", ret); return ret; } -- 2.6.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/