From patchwork Thu Nov 2 17:04:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 10039017 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 223C760291 for ; Thu, 2 Nov 2017 17:04:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1062528B0C for ; Thu, 2 Nov 2017 17:04:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 04EDF28B2F; Thu, 2 Nov 2017 17:04:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B107328B0C for ; Thu, 2 Nov 2017 17:04:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752426AbdKBRE2 (ORCPT ); Thu, 2 Nov 2017 13:04:28 -0400 Received: from mout.web.de ([212.227.15.14]:57105 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752304AbdKBRE1 (ORCPT ); Thu, 2 Nov 2017 13:04:27 -0400 Received: from [192.168.1.3] ([78.49.200.43]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0LgK3g-1dPAOp1cwO-00nhCT; Thu, 02 Nov 2017 18:04:07 +0100 To: linux-scsi@vger.kernel.org, aacraid@adaptec.com, "James E. J. Bottomley" , "Martin K. Petersen" Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] SCSI-dpt_i2o: Use common error handling code in adpt_hba_reset() Message-ID: <373ac00e-099e-2ced-37aa-194541eef3d8@users.sourceforge.net> Date: Thu, 2 Nov 2017 18:04:04 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-GB X-Provags-ID: V03:K0:VJQz7cAmzAQkufeyTFqcxO8LZPVm0ZOBNEevUeE7NUV3GTo4j0Q I+JlUHnIa7yHWVMhQjeLd62IxJDxizuqZ563kV8WPNzO/zw3Xp5nqLwrpUwGXrQX+Uc873i 5SQPi680FGixW0dRIeeOt1RVTVTAHxNTTFoYrNtf1CoUMLeuVfB7kphFsXZQBFPnyZZQnTA sWg35awHJ+8I3HUL1dINw== X-UI-Out-Filterresults: notjunk:1; V01:K0:caph0sE8k0M=:wvjoGfm7ylJ/IRK0kvIC+m GA0CQVl5lzl2q1nNnNmGTxHn4BXxWdHZe5wxC0aKEQ6rv4V8EZ51zb30R/udcfVZ6QuN0renc 5yebTu0jsqsCSBy1s1L8dRZP6Fdu1EgPi7gnux7/OhfYqgplcQ/DsITXLG6JCQBPt6tW/H95v 7RsHCWgODWJ5p6knqMvsEWpnPB3Z6QjONJeNJ0EdMvDJ5CzzSG/3sC7hkD0IkFO1XRh1YZx51 WaS1HpWGBUy8sKRMZErDywrdzqI+n5h8dgewqGVRm7ecaoS2snflBjVS298/ICgugOyg+l5ed XF3EwjFYCLfXa088I/vgure3Bj9n+TVWSxJQHV1moIa8A4r0IYayuVn9HYlkM8lP8VqHOEGAh 5KUT60QTodo+S9r8G6Pd9y8vuLV8COobtndkEbvAkBZTjABvX3fy86hqR/r/WMUANsfwJ1OUh x6zzjCP9zqsVaxvInVRWqFnqgbvyrnP8UTG1vVzTqb2sTsIyHBxM3+fWRF0irwFDz2botxIYe DiR8kwIFN7U5t4IFUO0NKY9XpGbi/4Op/lIJ3XcP0Jo021lqqswRZ/U1F6NrqmiMqDmke5D69 188HyqxNkcqFBMzqh+QKfMbBk0PCnCku/qzcTrKtF3larr3r8KaVhjb8NBl4PBZObgBVXqS7r DvQzVuL4MaBTGHJ8OOPXEQ9c3/NDw4lRf3cWT6eflOJiBEESCoIVKw+qPewCvFkhbvPG8RdVv SVJ0z15UFSvZozo2vGuu4IFY10VV6mTXm9fjnYklZp5YqPPbGKn1OJzBxa3sPuG8G3e1f9AFf RnbVJCZcXOGMyEt/g/kXMmkaZafA3+7Hz7s7i70owp0Af+hE+Q= Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Markus Elfring Date: Thu, 2 Nov 2017 17:45:14 +0100 * Adjust five function calls together with a variable assignment. * 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/scsi/dpt_i2o.c | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c index fd172b0890d3..cbe1a36fb531 100644 --- a/drivers/scsi/dpt_i2o.c +++ b/drivers/scsi/dpt_i2o.c @@ -832,37 +832,40 @@ static int adpt_hba_reset(adpt_hba* pHba) pHba->state |= DPTI_STATE_RESET; // Activate does get status , init outbound, and get hrt - if ((rcode=adpt_i2o_activate_hba(pHba)) < 0) { + rcode = adpt_i2o_activate_hba(pHba); + if (rcode < 0) { printk(KERN_ERR "%s: Could not activate\n", pHba->name); - adpt_i2o_delete_hba(pHba); - return rcode; + goto delete_hba; } - if ((rcode=adpt_i2o_build_sys_table()) < 0) { - adpt_i2o_delete_hba(pHba); - return rcode; - } + rcode = adpt_i2o_build_sys_table(); + if (rcode < 0) + goto delete_hba; + PDEBUG("%s: in HOLD state\n",pHba->name); - if ((rcode=adpt_i2o_online_hba(pHba)) < 0) { - adpt_i2o_delete_hba(pHba); - return rcode; - } + rcode = adpt_i2o_online_hba(pHba); + if (rcode < 0) + goto delete_hba; + PDEBUG("%s: in OPERATIONAL state\n",pHba->name); - if ((rcode=adpt_i2o_lct_get(pHba)) < 0){ - adpt_i2o_delete_hba(pHba); - return rcode; - } + rcode = adpt_i2o_lct_get(pHba); + if (rcode < 0) + goto delete_hba; + + rcode = adpt_i2o_reparse_lct(pHba); + if (rcode < 0) + goto delete_hba; - if ((rcode=adpt_i2o_reparse_lct(pHba)) < 0){ - adpt_i2o_delete_hba(pHba); - return rcode; - } pHba->state &= ~DPTI_STATE_RESET; adpt_fail_posted_scbs(pHba); return 0; /* return success */ + +delete_hba: + adpt_i2o_delete_hba(pHba); + return rcode; } /*===========================================================================