Return-path: Received: from mout.web.de ([212.227.15.3]:61202 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751665AbdJ2UL6 (ORCPT ); Sun, 29 Oct 2017 16:11:58 -0400 Subject: [PATCH 1/5] wlcore: Use common error handling code in wlcore_nvs_cb() From: SF Markus Elfring To: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, Arend Van Spriel , Eyal Reizer , Iain Hunter , James Minor , Johannes Berg , Kalle Valo , Maxim Altshul , Pieter-Paul Giesberts Cc: LKML , kernel-janitors@vger.kernel.org References: Message-ID: <7b40d50f-cdac-bd47-5070-894140f7ceb3@users.sourceforge.net> (sfid-20171029_211215_090330_D8C6BBD3) Date: Sun, 29 Oct 2017 21:11:39 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Markus Elfring Date: Sun, 29 Oct 2017 18:38:04 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/net/wireless/ti/wlcore/main.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index c346c021b999..48380d48ef09 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -6496,16 +6496,14 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context) ret = wl12xx_get_hw_info(wl); if (ret < 0) { wl1271_error("couldn't get hw info"); - wl1271_power_off(wl); - goto out_free_nvs; + goto power_off; } ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq, wl->irq_flags, pdev->name, wl); if (ret < 0) { wl1271_error("interrupt configuration failed"); - wl1271_power_off(wl); - goto out_free_nvs; + goto power_off; } #ifdef CONFIG_PM @@ -6551,6 +6549,11 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context) out: release_firmware(fw); complete_all(&wl->nvs_loading_complete); + return; + +power_off: + wl1271_power_off(wl); + goto out_free_nvs; } int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev) -- 2.14.3