From patchwork Sat Dec 24 02:06:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9487773 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 3BF3B62AAB for ; Sat, 24 Dec 2016 02:06:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2945B2074F for ; Sat, 24 Dec 2016 02:06:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1E48626212; Sat, 24 Dec 2016 02:06:41 +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.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID 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 9CE3C2074F for ; Sat, 24 Dec 2016 02:06:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932743AbcLXCGj (ORCPT ); Fri, 23 Dec 2016 21:06:39 -0500 Received: from mail-dm3nam03on0060.outbound.protection.outlook.com ([104.47.41.60]:42496 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759645AbcLXCGg (ORCPT ); Fri, 23 Dec 2016 21:06:36 -0500 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=kTpKvxW2+jH3fkDHVtbJHHyGx0GOBakvgQwUTzlz5VQ=; b=ABN1mCbNST3zSMkyX3VbBncGNlriN3Ct3lCGaohVmLXSELg87//nAEi/BtiA5sIuxHDIMN4fWPnhfg/sZ48MbNazQh9LBKqJ6mrSZhfm6bgPnA3Jg1dzP/Jk7G1NaGO+AqgxrocdqAaLCl9XwoV6UOedlAuTyOo59q4WZ8IGS/8= Received: from BLUPR07CA0039.namprd07.prod.outlook.com (10.255.223.152) by BY2PR07MB202.namprd07.prod.outlook.com (10.242.46.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11; Sat, 24 Dec 2016 02:06:31 +0000 Received: from BN1AFFO11FD030.protection.gbl (2a01:111:f400:7c10::159) by BLUPR07CA0039.outlook.office365.com (2a01:111:e400:841::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11 via Frontend Transport; Sat, 24 Dec 2016 02:06:30 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; linux-iscsi.org; dkim=none (message not signed) header.d=none; linux-iscsi.org; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BN1AFFO11FD030.mail.protection.outlook.com (10.58.52.168) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.789.10 via Frontend Transport; Sat, 24 Dec 2016 02:06:30 +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.309.2; Fri, 23 Dec 2016 18:06:16 -0800 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 uBO26F5h000891; Fri, 23 Dec 2016 18:06:15 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id uBO26Fq8000890; Fri, 23 Dec 2016 18:06:15 -0800 From: Himanshu Madhani To: , , , CC: , , Subject: [PATCH v3 06/10] qla2xxx: Fix crash due to null pointer access. Date: Fri, 23 Dec 2016 18:06:10 -0800 Message-ID: <1482545174-811-7-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1482545174-811-1-git-send-email-himanshu.madhani@cavium.com> References: <1482545174-811-1-git-send-email-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:CAL; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(39450400003)(2980300002)(428002)(199003)(189002)(81166006)(39060400001)(5001770100001)(626004)(81156014)(107886002)(2906002)(50226002)(36756003)(47776003)(8676002)(189998001)(4720700003)(6666003)(33646002)(8936002)(42186005)(105586002)(92566002)(50986999)(76176999)(26826002)(106466001)(48376002)(101416001)(2950100002)(4326007)(356003)(5660300001)(305945005)(69596002)(38730400001)(80596001)(4001430100002)(86362001)(5003940100001)(50466002)(2201001)(575784001)(87636001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR07MB202; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD030; 1:YOvrqM/L8lVSiEDFwl9SBSUNd3EGOqyvquhUpPtlhvlybJAbCwVKRiOdIC3S9rPBQqmh5LcODzS8zmHTSYxdegYelARup7TDV9Lpp9a3q6pTEu3TpDLGmaVCzr3Pz/RTxVaDDa5o8yP5Y4aPOjOw9BPLiOZxzqyl7dGczJAZ5PdTwdJSfeBn8sT/nFUgsZR3BeBJJucbsxlHFzrB6rlKJfo6W2VZsSaDoyWQyhAYaOVrlzEKQWkitD46lSrR3ZBmyktBWQyu+FAjW635TCphMAX3eKtNSu/1YyBcLccRPMhbBZDPuirz9+YI3EyNAXiUrEStDcwUIaNgRcPHqsHRoy1HZ1Jm4FW83BhtHf38AHIrHeK47flYnke6gChLMtW8PHDhZMkmHRoYjptB6oQYSuUlmshG11Nm8kJGAS8qoY3Cae//hviTkT9RE+DCd5XupVXI6n33Kc/Ko8XWJ/o0kY7W4Xba0rlo2WGJEykhUB0gaRM3Rgy09R/nebHioo0aplcDk7CaZz56QIHmzviAvA== X-MS-Office365-Filtering-Correlation-Id: c28238ad-1f15-4580-d882-08d42ba17a1f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY2PR07MB202; X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB202; 3:gmrmhoMaQPG/F5E9+AhxhrNyWZ/JYzQHl3HqUens4/uiBxbmA+udjQ0RwojiScyRvCnW48bXn/B8OAMtHQnC9kIky75U7z2Z1lQfbFIX/N5rjlViPukjNHlXZosIQccqvqiBeF61iT41ilvg4HdrOTcle7nAuxTn5mQZUOZGd0EZdZGjy0ZrNWbXKBUroI8mCvH2GqzoVRRib7zjDxOsIUUtYZaby2+NRsx1z9Ey+mikHV9C61dhSUWnsee97BU6G4GOYnHodRXOwLTaylMof7rBRAOpV+Aq+mcUYeznf0wmztlWcaqreUIqm+Fx7X5BmI6TODnnng+nwSRkloOkobDYXurTEgtli1ii6HOHlJwBuOpNuOplcxWjRELapwaA; 25:H42cDrRIfakU4fdGximdh3z//UMUSRPXlDUkG8uUbb1kZcwOn/0YI6ck34nre8Ce2mFtKC6QJvvACWkI6Oypxv7GCuguqWpG31VA0FrWeVMEpCJtArUdssq02VM4PDhCGO6PGQJwfXF+VmNcys74ZsUjTJ2QxZHtz3TQ8XUzuwlP2ODGlfv8D6u8699V4t0oVDacKdb3BTNe1d4ccYdI9LCkWzQfUzE7/UVokIKzA7vxqT/XRiEXyk/xNFhz7sncnnN2XOFoqbYQDkKUB0AFKJVkSuSNuFXsHx9yI4BsoGZilxmFjKy1hbyqqrH83hbVZvAD5izsbOgVz3OX7Ic82XdQpXhdlq5qASWfnj0MXozm16rlk/q8WXxvkZxghcnxtaYWpQzojruuN5tbrtiICSFht8RJTQF8Oo8qQREaYLEQB+DcLkl7yZLqvg0HgQAm4TuyGifBruIqfS0l8mWWFA== X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB202; 31:jf06x8aK9bi9BlQd2NocoGuqqTHlytKd7XW+RzscC40BScOvZaV+oVKuyV8FnUer3NwUuF0l2fILNoQrYR11GohEHb6MXoCerd9BMvsUFcbUlDPlH4teRZ/m3qa5IGeQ4mXjJOAHBmF+mNf4Ga5RtSKDtRme8g313JnF69WRlwegxtTrco7m2968iW12pEBthBh4oPtD/Pfb+oe+SxRZIAmKCTQqex4Q/fzFvnfOfQLY5eBkS5vx15qH7VwD/XTaRrDxIfIxe+bpho6iLolKtg==; 20:H0F2bCuPZ/olrdCoBmm4AZ2m14xlt9Y5aXOzJgoCwOyWprBAXB5m1gO2mIJ0v8VsgxhKGxVFeh5pIFKJ4uSqZAAO//C/PQnw9QQQygrj6L6jyheNUIs/0+914jYbo1DtOAw/TBhF6IFA43hJPXBEFMMaerU+0QMly9453D0a+9WcD/gJzG2vNfi0uB40o0uHPDkkRKdo0zX1mScXxjpSTlGNe3bBR4PH1D8nhY4Dck0+c5QPnlnQu7YFPXT6DJsb/RLBSOk2rpLtxahydOj0iv3tQ3fmBbzSYnvju0liWWgI3Lo1DAhkegjLyjuOujG4HyjnsATBghMCK5L7I/2cLhXOXyZVCpQPr97ftGveolIUQ37sEHsTYzhqk4AhnQCiNot42hYb3pxJDEp+mHsUOzQZAEo8E/kVofnAFOrekWL6/8W8u3Ka2xAeAhzN1h0d1tPjjkx+qURhjc/oe+Fsql2YjQD1qViBoVM+rVdW+FTFvUtwuG0BhGDLWnyMIrdz X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13013025)(13021025)(13023025)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(6072148); SRVR:BY2PR07MB202; BCL:0; PCL:0; RULEID:; SRVR:BY2PR07MB202; X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB202; 4:i/KpbfNv0A86cOAlMZ3XrApVaT3KJ3rwz2A+Qf7Y/RHNjzP/ZZ3eFWhaUFgeuGTG1OT7yZuRZT/P/QEoaU+8aya+vH0+CDIT9mxD9j9bAXt98a6hNzmyfCtlj6vvaZKYEDE8Oo02w/zTRZY3rJSTlf7b7lh1RovfmOCCzaMeM3q9V3Fk5iPwqZyPtfNRybNEtsqDDrZtBT/fI7rV8ybFV3lWjjmZIba0nSedRYywqNiifXOH4UiWsnxHRXINypYPzx6Yb/pQcXzqAFVixqZS0K9FOH6REpRFaEtNtFjvcG3bzLt2r5kUXFBrzl9IwMNk+NuD+751IPu1PHl0o24arj3OXqIr4ZWKW8DC12+S/Zkm6b8aufN2SBPmOwe9cha6gV6qjefa6byGhlNjpDVU7d4/riqWZPAeHc3o/23ZXjzBcP7JCzZCx1x8zMF0i0A6Iz5X+xlfzHqM6spgbVuD80hFxFMcyF+8hv76l7RP/yyhvIIgfLyEZqGy4FpAIP3iCGQb4+VtLmUS7//A562YfC3thlbkk8s9JT3sS5qv1FvInhu4YAaqfo3T4qeSXPH+sDMO5KrtscxlmaCVu30gsLAzX1mszL6RWNh9jwrjy+mBQWs9M9QdIwDlrzJk+AVXrOt8fchyNf28VUmwf+mxt8atd8wpzONimEjFN4qZvfw= X-Forefront-PRVS: 0166B75B74 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR07MB202; 23:lb0AXB2s+caoOlK4rvwfCrBUgn8AV31+Pt+uj09qew?= =?us-ascii?Q?oa4KiNHhQqQeEaw9ca9/2chYGnybL3NZhR4+YgEGX6h804mPffoqzNeLixrN?= =?us-ascii?Q?sYcowOjmmE2SGpA1mbty0+wf0mgwkovvIHf7sNqXwckZztxNihEOWtKgZNgI?= =?us-ascii?Q?BQr2POxz4BUJjVyjKemRUObwkAsrJNr1fnfp4xILVr107hBRiOcmKh6TV01b?= =?us-ascii?Q?v+uJM/DnOYN2AREUyCYhpEW+xyu8jQwAXGtkM6df1Of8oWDsSIyEVAsLR2Rf?= =?us-ascii?Q?NCyYV1UKzAwoR2eq3RiH551QtHH8JVx/hN2KFdWqGgdoxCJNY3hcgPTMCpAd?= =?us-ascii?Q?h9bFD6zsydjpf568F/zPTeNoIg/oHnn44fFf8xRRX7h9Mn05XyiKyDi0NMGZ?= =?us-ascii?Q?zRfx7oAuW6ZvofrGs67Pq4XhhoWCoqPl6mGysiFQsqE44Qk0J+jHKT4sxB+D?= =?us-ascii?Q?oTvD/HmOYnXqnuibbjl79qWHPN2lJebST/8IIot/s5czgIB0Tc0pXYLRE0r4?= =?us-ascii?Q?+mAm+XtjigCqMFhVubtYfwF5rnBN1GaUDLmCJ49+QXvHy0swu/NQMWrjEjbu?= =?us-ascii?Q?7x42iFy4YYRlJH362kJMyZnRKOxDDP9kfJ7hBaKJsAI0NSO8K2ze5vl3Q8pn?= =?us-ascii?Q?sRWly0dRzx8T9eo4EMjgplQkkDN/01kWia14rtDKj92VrevAVnkJjcG7WRlh?= =?us-ascii?Q?izckgiUGXNgFXvxuI5AsWfVoxi2yMFNjB9zL95Fpq/jGxENmyR85f8iG5D1T?= =?us-ascii?Q?6S34of+ETw4hiF43esWT1AXsTJEY5M5ZVTE+4Q4SBq1CZBZzHArVBilMVnx1?= =?us-ascii?Q?3Yeljoe5Dqs2PE9CplfFt6gy/fs1gcd6+5ZvK1jv5pIQaHywRKKvxPLapNdh?= =?us-ascii?Q?eC47xVGLH+9letVVWKyDTs8l/B06+y+uU8ov3tYSMsA33vCckRKceFK/aO4e?= =?us-ascii?Q?V9CBlLGF/R+e/o0D+UadOR0vlcGkSYt+8v9Fez1Ag8yw9ldQpaWmOt7F5Cwk?= =?us-ascii?Q?a91QwlfYRq5zgJMTvUS01qKO1MXtBHJuAYLbZ5M/uK0vuBEgK1TtEEBro6xZ?= =?us-ascii?Q?eb1biNXTUJ024pszILdnEMRCmBOtQTbXNmjhkPqj2SeLOLfUEMXJzq6sVWXM?= =?us-ascii?Q?D460LvQeUsqcoxR4cjlL0icURvP5gImdUTDfAqr3wAbvJyjWdzqw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB202; 6:IaEOwDujluZBIg5GBUeR+VP83FPwDIE9Zc+eeyDwD1vvMYuR16WfzAQ/BDuX5WJHqQ3tYNTjNs0nbKVux1T4me10tW4sfqPQ/ZpWXwe16QsHVziqHHhmF7DkEtEuuKSSyislwYK23cmIyvANEVyocLfwCPpGJKRLF9ZNNDakcP16cJybBZzVU4+6ssIKOmqrqkUV3Hq+oA9De0fA+PijlL9nBbEC+vB2AHaJGznpcJwI3JshIyPYRKFVrbAjp6ntPmmdYuzKqMzqxra2r/xUcr/d9BjVN2Cstz+GHMUpOCRYhn5181br0vuJgcXw8LwfujhKeRnEWaDtvDVcxOxeeq+Z4OEYuTbPaQ0gJaN8aguUrldGtWu0Hl9UXXTQ5/k9rHSGr7XbUiB0zx8bxxsZfW1m6zYQu6lvM44tPEQu86I=; 5:Y0f67Ib7Ccy1fR7B1hNa/laN2bmYSTIS41wUT3JYpy5W46rF6/kusu4kDqasXegnF/3jU2s4p1rcagMpxwb2npuXz1x5GIbpSicpcUWC8kEPRfPhykdyOHQ4y/t0KJ6SXscTlJipJzqrIFdNEVTkpA==; 24:61FCoPmQZMo3uX9q+FdFEdgMjz8ztAz3KYjFOmK8L6/6/v81vouUpaxX/8+9zZ4sl/VhgazsfuJBYOq/weOzOw0m/4btQ957yQ0grT4D654= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB202; 7:GTkEJj1Rkeelg/VL1ENksbvIo8HLlIejyv5Jr9vgO6hQ2LZgh0rH+V+UNtLlaX2nOcnzbeojD4nOtmhfFfTQde9XMrCi+r15gl3MkfFbugO0MVAxL1+pQNwj6iafn6s5TKsZDTmiOrNlwLOSl9V4RolcgBZ1qHxomvaMIUKqjZhsGGJhTUoFOeV4kbjRygbsMSjqp6XP78Ypj3Jxk2hU/++ts8puiLWI1Nir3oqe38la8v2Bh+vn3OKXbUxoxRrU/yBuf0TR2EAFz3OErrym2nnOtxSaKU/hkcxnv3RXF1AijFf9eTpW7UtDmbRUK7suFsETxNrAzOpgHiol+dOwXAhZknc9RBCSpmlqmPcvOirQsHJRE+gMyxThJVSHxJh+lH4qwEWoRHOGO78bI6M4up9X/B963fHL/3j9FjMOTOhP+AcXnXGr3lzIAJMIH+b38F1FFYYJmzI4vroJyUJzWg== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2016 02:06:30.1130 (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: BY2PR07MB202 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 During code inspection, while investigating following stack trace seen on one of the test setup, we found out there was possiblity of memory leak becuase driver was not unwinding the stack properly. This issue has not been reproduced in a test environment or on a customer setup. Here's stack trace that was seen. [1469877.797315] Call Trace: [1469877.799940] [] qla2x00_mem_alloc+0xb09/0x10c0 [qla2xxx] [1469877.806980] [] qla2x00_probe_one+0x86a/0x1b50 [qla2xxx] [1469877.814013] [] ? __pm_runtime_resume+0x51/0xa0 [1469877.820265] [] ? _raw_spin_lock_irqsave+0x25/0x90 [1469877.826776] [] ? _raw_spin_unlock_irqrestore+0x6d/0x80 [1469877.833720] [] ? preempt_count_sub+0xb1/0x100 [1469877.839885] [] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [1469877.846830] [] local_pci_probe+0x4c/0xb0 [1469877.852562] [] ? preempt_count_sub+0xb1/0x100 [1469877.858727] [] pci_call_probe+0x89/0xb0 Cc: Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani Reviewed-by: Christoph Hellwig --- drivers/scsi/qla2xxx/qla_os.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 8521cfe..074dcca 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -3662,7 +3662,7 @@ void qla2x00_mark_device_lost(scsi_qla_host_t *vha, fc_port_t *fcport, sizeof(struct ct6_dsd), 0, SLAB_HWCACHE_ALIGN, NULL); if (!ctx_cachep) - goto fail_free_gid_list; + goto fail_free_srb_mempool; } ha->ctx_mempool = mempool_create_slab_pool(SRB_MIN_REQ, ctx_cachep); @@ -3815,7 +3815,7 @@ void qla2x00_mark_device_lost(scsi_qla_host_t *vha, fc_port_t *fcport, ha->loop_id_map = kzalloc(BITS_TO_LONGS(LOOPID_MAP_SIZE) * sizeof(long), GFP_KERNEL); if (!ha->loop_id_map) - goto fail_async_pd; + goto fail_loop_id_map; else { qla2x00_set_reserved_loop_ids(ha); ql_dbg_pci(ql_dbg_init, ha->pdev, 0x0123, @@ -3824,6 +3824,8 @@ void qla2x00_mark_device_lost(scsi_qla_host_t *vha, fc_port_t *fcport, return 0; +fail_loop_id_map: + dma_pool_free(ha->s_dma_pool, ha->async_pd, ha->async_pd_dma); fail_async_pd: dma_pool_free(ha->s_dma_pool, ha->ex_init_cb, ha->ex_init_cb_dma); fail_ex_init_cb: @@ -3851,6 +3853,10 @@ void qla2x00_mark_device_lost(scsi_qla_host_t *vha, fc_port_t *fcport, dma_pool_free(ha->s_dma_pool, ha->ms_iocb, ha->ms_iocb_dma); ha->ms_iocb = NULL; ha->ms_iocb_dma = 0; + + if (ha->sns_cmd) + dma_free_coherent(&ha->pdev->dev, sizeof(struct sns_cmd_pkt), + ha->sns_cmd, ha->sns_cmd_dma); fail_dma_pool: if (IS_QLA82XX(ha) || ql2xenabledif) { dma_pool_destroy(ha->fcp_cmnd_dma_pool); @@ -3868,10 +3874,12 @@ void qla2x00_mark_device_lost(scsi_qla_host_t *vha, fc_port_t *fcport, kfree(ha->nvram); ha->nvram = NULL; fail_free_ctx_mempool: - mempool_destroy(ha->ctx_mempool); + if (ha->ctx_mempool) + mempool_destroy(ha->ctx_mempool); ha->ctx_mempool = NULL; fail_free_srb_mempool: - mempool_destroy(ha->srb_mempool); + if (ha->srb_mempool) + mempool_destroy(ha->srb_mempool); ha->srb_mempool = NULL; fail_free_gid_list: dma_free_coherent(&ha->pdev->dev, qla2x00_gid_list_size(ha),