From patchwork Wed Aug 23 22:05:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9918515 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 E3435600C5 for ; Wed, 23 Aug 2017 22:06:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D5FDE28A39 for ; Wed, 23 Aug 2017 22:06:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CAC9628A77; Wed, 23 Aug 2017 22:06:08 +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,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham 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 6226828A39 for ; Wed, 23 Aug 2017 22:06:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751201AbdHWWGG (ORCPT ); Wed, 23 Aug 2017 18:06:06 -0400 Received: from mail-sn1nam01on0054.outbound.protection.outlook.com ([104.47.32.54]:57888 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751112AbdHWWGB (ORCPT ); Wed, 23 Aug 2017 18:06:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/voKyhnyie824G8WTWxIlU9KdBq8oQouad36A8Xt2W0=; b=E/lGOES0yGFNWT+prHAH+ppPbpPLyNa+qnOQvnIMNj/fnZe3J2xTd6VuIGn/cfU+RNNyBTLVDoEd2Dh1bSIyGF2LiQVeZ8X1EbYx9E4oyAc63zcl0tjApQcNVW9X85b5SEwyzujvATuo+DlUijMNjQ57slEdkzirEkft7/Aztd8= Received: from CY1PR07CA0027.namprd07.prod.outlook.com (10.166.202.37) by BY2PR0701MB1941.namprd07.prod.outlook.com (10.163.155.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1362.18; Wed, 23 Aug 2017 22:05:59 +0000 Received: from BL2FFO11OLC004.protection.gbl (2a01:111:f400:7c09::124) by CY1PR07CA0027.outlook.office365.com (2a01:111:e400:c60a::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1362.18 via Frontend Transport; Wed, 23 Aug 2017 22:05:59 +0000 Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11OLC004.mail.protection.outlook.com (10.173.161.188) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1341.15 via Frontend Transport; Wed, 23 Aug 2017 22:05:59 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Wed, 23 Aug 2017 15:05:29 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id v7NM5Tjg003246; Wed, 23 Aug 2017 15:05:29 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v7NM5TkT003245; Wed, 23 Aug 2017 15:05:29 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 24/31] qla2xxx: Cleanup NPIV host in target mode during config teardown Date: Wed, 23 Aug 2017 15:05:18 -0700 Message-ID: <20170823220525.3115-25-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170823220525.3115-1-himanshu.madhani@cavium.com> References: <20170823220525.3115-1-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(428002)(189002)(199003)(4326008)(81156014)(105586002)(106466001)(5003940100001)(42186005)(54906002)(2906002)(33646002)(626005)(189998001)(2950100002)(80596001)(50986999)(8936002)(69596002)(478600001)(305945005)(6666003)(87636003)(50226002)(48376002)(47776003)(356003)(81166006)(101416001)(50466002)(36756003)(86362001)(1076002)(76176999)(8676002)(72206003)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB1941; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC004; 1:IDjxza0o2ZXlSzQR8XdAzppS9Yq3Soq+zT3ZsstKEqt8iuzG2ZgI11M78WVsLvx36cBJGuzeMuVWVcDXH44J174TVPdxUyVDtsj51mioYdg4H3FVSvbZ3hGl+ycp7WoA X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7d3c23d6-0757-4654-cada-08d4ea73230d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603190)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR0701MB1941; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1941; 3:jv25cHcbjXiZwWb76f84/a41PGpf4W7anSZNVNfg9TPGc46m/EEbGQmkjMkbykA/xNAXGD8r3ERKZ4Uk6UBTnXwE8oM3X3fA4iNdkqoYQ5sSx/GGrIxO5tnV22QXasm7DPhfOaNac9cqvaNhdkO1kxAtxUbM+ZONib3kABdoNu1UjkPUPtSsLCvxO7eHDsd0RhCIi/kYOEmr1Fnr7FCoOzFeFNtOVybxEFd1r6/mSW7cVyMJL6QbeFyXW1Op5MohQbLPQkdXAbVKt1QGiJujhDow3CbJ0sHNk7l7vwTALzx9dAaZiuVcPd38itYVyi2uRXT+tyjsyb6GVb2x0iAZjw==; 25:l2GDTDFXfLHwwHJoUaLLyS/mPMwk3nl2N4Gsb9ffpDhYt4KMkxDPJuJvMvQd47ft0Utl3EtTwT3KwdX+Ih5HtY6j8GYOuTj0Y0n2WSW8hGEeXTWHynwQpNaVMDsYakhrJKeOnPTqUbhRjpDuaqRjjJt+HMkzOxVOvHS5AH3TSTwA/U45dvJ+CGtWO5fFIptZ/cKOo+twSuNOloSb5uNPoA8gx4ouXXV22UJMWrjSoszrnbJHW6o4PP/3/g9q0lRoy+nsbNIsGrEZRbiqXUt6PbIjAKUJuL1mj1IsJp7qReufkeFf7eQJf3SIWHLGS1NB2yPQwDu9LoVLg9Z1WUQ1LQ==; 31:N7JH3qEF4n41T35BnM5ixsv6LwdlpESSN3Z+WQCoGVdjlS9M21buWDV2gyV8dtJDU47LuZLr0Mlex3No1WJH7RhDaVYplJtxuFfcvpnTVNswBWU3QG6RFSh8lzqUntd+v6oO3bc+krfJDgsfXMd8YipR5EtegMlr3+RdbHk5/vHO4vDdm9xy9e9ish7Y/d3wp88FDOOpV6ti/qYBIZ9SMa2fXXOgUZ0cyUhWTUnt1TU= X-MS-TrafficTypeDiagnostic: BY2PR0701MB1941: X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1941; 20:4doPg1CkUwP8n85vRufFEu8kn6VxAhbWPn0W5wYNDIoaxK//OI60fFZy89n8DezCArue/kooSeGComl988YyaojRWoWIaRSMsMBTuCQpBgpC01r2UKSKQMzh8kpK4cxSparL6ClLCWJDaltl5HmW+yamwQrY30QvsifZU4WqD3Gfz3JRZNflf8IggB9PGk68xpBCyyo99LGFfYBq3svNfzviQVmk++OD0AdaSHb1AKyFL6rIGdT4o800yUqsSJrPSza3gLUa28MS5rxJ43oEl+HXZh+Ju8W39uGXZEXJIAELg/VDVrTAPEMyPnmjgxsAx2W6VdcXFAFKENXgRIjAg8QsjPjAFyw5Ih/xWT/SilOHrKH/TWWQ8KjbucwQ5AMX+cG58ipTXCMBLN2iOMmB/micnT4VZ1rKc0Nfd2znEQ1G8uHfWA5OoVi8K57hC2rP3yBA8capdiCPLbQQZtkrstEJqSuZQ0Z3PFGM6JbnstE9nt+S3dwMSNn9APuhVGEV; 4:EbgKv8gDfM2uIBfMC6QcTEGQO0MdYDRoQJqT+cwkfi8GY+19ChlHDckOuIHnuugIdnlCJ3cP/kxrFjVwnDvX4Ft4qbnkwX/GmNqUiOT/rU4GdotdIsTMKXKBlqB2Syj46OvwFCkt41Pz5eR+73nD4LSnSZyQnjkDgxWH1myn818Qfd/GvEjsQsni8bqKgFsk73Dbf8v5d+1KLGfyBbsbd+R+5oQdMWCKdPRWyJdhnu6g4810/nk6YS5um67HOuHw X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(13018025)(8121501046)(13016025)(5005006)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR0701MB1941; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR0701MB1941; X-Forefront-PRVS: 040866B734 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1941; 23:6n7u7Glsf7L7HUk4sOUoKY3w16LFiicmLuT2b9OV7SFD2/wDmcC4caCl4CcebHygxzagEaqC28Zry3EW5oVJgAGQpHDto7JH0FFFwvawtffkE6XZyguYRL7TZ3mLD3XR/raTm7X7bFOqe9jzVV35eE3GwpSv1vxgo1vIY1DEamCboZoKMSfQMRhbNMvMk0/JdIsk7nz6s6G2DrMhKYwy1A5VhbkqGhYA+P6l+4TkoL6kQQU2Fc6sx0sUgyU/fzPpUmg7NwUw/NLCTfyvsdlb8tF6Tw2QVkoKb9NkkSsP5ronMRYma7G0Yke9N1e6LA5LZO7u5ri0fL1obI2HZixPA0ZvPa30oa1wGaikYDmi+k8c7NDHArJtV3Z9RW5/YFobbu/btnfpY26URdh1NqYfkK3SfmOJUSlaBeYa9doRir4tH+JoQb9YCf+wn9BMl2NRlt9EcjDXCNGCfkH6E+Asqvn/TVNsQ/Bn5MyS6wJtEZ2f5hM77XcCNNKhYa+hbT+2rLQUjP7DnhAELM7Duk3E8kQWWqUEHaj1cXPBNv/0pOgLCugVFaOyClXGZaWwOr+Fehg1T0x/utMGiPGddNrC2pynrYpOS6Etmjy0L304wJT7Ez7XmG9OaUOj34C8D0aHmBdpqjRGASg/Zg9jikj+TFKp1chTC6EZB6nQZeuxIy1X9DP88lpor/ZokplrHKaBoGM2SrOn4p+DLHa7hCkh9OKbZHg5HI9y2bd268nLO8erF1g32pcXFffyrBQQbBdhMEU2l1reweadr6Yo86YyLSGo4nZCDaoe5rxvoo/0f9ySrOEjtegVC4tZCr9rg+j4rM/VcwSqIGhdYS0E10a3KCbMXCoIaGBtbCqMLUJmlL+//wdBqi0WYf+7Pv+MNNs/wxXnQEl66aYxSlkbfcPTnEiQBrRyh3pxr3ylMqG t3G8V462KoSApYIWGucLF6rrx X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1941; 6:v0D3CtrGrAtmz1YpH4/pJOCczU0fqOUVdpvxZf3IQ7nRwdu2pwjTgBONcVcnNXt7WG/G0y9SnPaVTBMLEjcA99H6XUd77MbkNz+wdFzOjfTX1mX/+KJQ21IbiSu6T2A/Ig4LC2gpB282+bsGcdrMDIlMPSIvgUPH7NXArGLfBM8wLOgq3vb0/7Q/UiBw3QhniNq7hJ8+TfEgfu4nKz5oRZ983W6yyRMj2E7A87I+isCp+3jSSQygz6YZpixZvG+88xXonYIs4H/V/2EbyV0RzGgBYczCJZZRoZTixnOFzw5YwSbXZb9tzML4d035bL5t4oKwvBE24EXHPuHsUlv8yw==; 5:oar/6n4gNPfyNdXBAxSzURnp6LUA2TWojjsnwkAtWSxux9hniM0+IKQkgPg6VXd4Kim3lz5Sg9xAsRV7oabWngmf/tNGeEP+rpqrOFdkEuGiSb2VbcdavdhWWeXLJKi/Pm98aE1L4bGS31SRcRwFYQ==; 24:IgBj0Oh8p5l5NDFcHbxtHemV+kogv9UBnJIrLVScA0xCwJvvnViuBrYLNi98ScxL0Ev8xCy63sPSordh67rGeXt8/IGOqrZWckTd6tl6Rrc=; 7:ILb05Gqhmgt052jva79qF0jI+3IevMxaPh3gZ820AEfMDgPiNyU8ogMZQLO1DEnonqTsXivBIHehiiwzfJurVyNYKHP6bhYG3aPnndX/xm+jnmvivPQstFl1GtMg0611py9R+qQe828TvOIxERyysP+RPU9xfVVY9/Ej0PKsSVHyva3jGAuURf8T5yv55yFw490XnfLZFHHaI5IHOEnJTq6SAZYvfb2XunWE8FzIibo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 22:05:59.3051 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0701MB1941 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: Quinn Tran When we tear down the NPIV host configuration in target mode, the qla_tgt struct was left dangling on the global list. This patch cleans up link list and frees memory. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_target.c | 11 +++++++---- drivers/scsi/qla2xxx/qla_target.h | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 4f1621fd5ef2..43113d52893b 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -1528,6 +1528,7 @@ static void qlt_release(struct qla_tgt *tgt) u64 key = 0; u16 i; struct qla_qpair_hint *h; + struct qla_hw_data *ha = vha->hw; if ((vha->vha_tgt.qla_tgt != NULL) && !tgt->tgt_stop && !tgt->tgt_stopped) @@ -1548,12 +1549,18 @@ static void qlt_release(struct qla_tgt *tgt) } } kfree(tgt->qphints); + mutex_lock(&qla_tgt_mutex); + list_del(&vha->vha_tgt.qla_tgt->tgt_list_entry); + mutex_unlock(&qla_tgt_mutex); btree_for_each_safe64(&tgt->lun_qpair_map, key, node) btree_remove64(&tgt->lun_qpair_map, key); btree_destroy64(&tgt->lun_qpair_map); + if (ha->tgt.tgt_ops && ha->tgt.tgt_ops->remove_target) + ha->tgt.tgt_ops->remove_target(vha); + vha->vha_tgt.qla_tgt = NULL; ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00d, @@ -6175,10 +6182,6 @@ int qlt_remove_target(struct qla_hw_data *ha, struct scsi_qla_host *vha) /* free left over qfull cmds */ qlt_init_term_exchange(vha); - mutex_lock(&qla_tgt_mutex); - list_del(&vha->vha_tgt.qla_tgt->tgt_list_entry); - mutex_unlock(&qla_tgt_mutex); - ql_dbg(ql_dbg_tgt, vha, 0xe03c, "Unregistering target for host %ld(%p)", vha->host_no, ha); qlt_release(vha->vha_tgt.qla_tgt); diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index 96fce43e1e46..aba58d3848a6 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -705,6 +705,7 @@ struct qla_tgt_func_tmpl { int (*get_dif_tags)(struct qla_tgt_cmd *cmd, uint16_t *pfw_prot_opts); int (*chk_dif_tags)(uint32_t tag); void (*add_target)(struct scsi_qla_host *); + void (*remove_target)(struct scsi_qla_host *); }; int qla2x00_wait_for_hba_online(struct scsi_qla_host *);