From patchwork Wed Mar 21 06:09:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 10298637 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 A8E7F600CC for ; Wed, 21 Mar 2018 06:10:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97FD529716 for ; Wed, 21 Mar 2018 06:10:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 821B52971E; Wed, 21 Mar 2018 06:10:32 +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 3AC2429716 for ; Wed, 21 Mar 2018 06:10:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751744AbeCUGK3 (ORCPT ); Wed, 21 Mar 2018 02:10:29 -0400 Received: from mail-co1nam03on0052.outbound.protection.outlook.com ([104.47.40.52]:27473 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751632AbeCUGKB (ORCPT ); Wed, 21 Mar 2018 02:10: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=4eOOaz6CJ97lVoEIok8V3hNA0BXYhSuFdVgWppuGgZI=; b=lePA3lNE6diBwc9jmF5p2XVYq31pJjrYC+KYX3ysMZFhW6AObPHURhz8pUI203+DAOJdFuzaIZ4kNYn12t1LRUfWLKxjxf5RErGeWeBv+2EsqlNEiQQjTX4rmpI5ft+QwMNpgYGQXgh3YjM8/NFnKUZ3KVERMJL95ud4ZDayZuM= Received: from SN1PR0701CA0030.namprd07.prod.outlook.com (2a01:111:e400:5173::40) by SN6PR07MB4222.namprd07.prod.outlook.com (2603:10b6:805:62::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.588.14; Wed, 21 Mar 2018 06:09:58 +0000 Received: from BL2FFO11FD022.protection.gbl (2a01:111:f400:7c09::141) by SN1PR0701CA0030.outlook.office365.com (2a01:111:e400:5173::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.588.14 via Frontend Transport; Wed, 21 Mar 2018 06:09:58 +0000 Authentication-Results: spf=fail (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=cavium.com; Received-SPF: Fail (protection.outlook.com: domain of cavium.com does not designate 50.232.66.26 as permitted sender) receiver=protection.outlook.com; client-ip=50.232.66.26; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11FD022.mail.protection.outlook.com (10.173.161.101) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.527.18 via Frontend Transport; Wed, 21 Mar 2018 06:09:58 +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; Tue, 20 Mar 2018 23:09:44 -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 w2L69hFa029547; Tue, 20 Mar 2018 23:09:44 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w2L69hxY029546; Tue, 20 Mar 2018 23:09:43 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH v4 11/13] qla2xxx: Cleanup code to improve FC-NVMe error handling Date: Tue, 20 Mar 2018 23:09:39 -0700 Message-ID: <20180321060941.29468-12-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180321060941.29468-1-himanshu.madhani@cavium.com> References: <20180321060941.29468-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)(39380400002)(396003)(39860400002)(346002)(376002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(16586007)(42186006)(80596001)(1076002)(110136005)(4326008)(186003)(85426001)(47776003)(87636003)(336012)(54906003)(316002)(69596002)(105606002)(305945005)(356003)(36756003)(51416003)(8676002)(50226002)(2950100002)(5660300001)(50466002)(86362001)(72206003)(48376002)(81156014)(81166006)(106466001)(76176011)(26005)(6666003)(8936002)(2906002)(59450400001)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR07MB4222; H:CAEXCH02.caveonetworks.com; FPR:; SPF:Fail; PTR:50-232-66-26-static.hfc.comcastbusiness.net; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD022; 1:WekFt3E5HJAaExOn0qNdeba/kzryY70ZU3Mk71CNt1mI1VpLhCNx3omSNgg+wkp5XvNONIyO09ovi1ymKBs8ppyMDaxEIe+a6L0TBvE4Rc6OqXNVb9KkfG3KHvQIG6Ad X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1c567cbf-81e5-423d-1d1b-08d58ef26009 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:SN6PR07MB4222; X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB4222; 3:zUeEOZ6/BUFgLHoPBfo2iIbZ0K4VafXbrO+2FblVc+1dGVhXNv7KAhuDFtNqf7fV6OWBtjbmezD6TTwmFS+xqN95EjcU+J0wYhJSL8taIyaVhUlMYwPfRKpoxx/jr+OQ0PvlFrqcnt9FInL1Rdh2wUiqu4fQLZQ/n2eez9oiKg7L62qHOI//Xo1otaCOtb61vet223oRX6LeYJSOHBWcR4BORp2bK2EBxokKIrTCu2sHDR8OmJtwCMQXEeZrgY34eZH+nCDyigweUthPpvftLJbI7l1iDCwOQKFP8HUpNKLdBry7dLyAlIbdFxVJhCPaKgqWR240vnBQpaephFc5dFQQJwxN8xOgKEs5c9c328g=; 25:2lrxELjUy9jAA9WJkxGpv+njrHmx+QxEb7uiRhZ6eDnI0O9F7jsSbuANgzdg9hCVHZ6wdbbYvn7zhuKU19l50ayzt95i5XesnCE2hwh/AqkG5OnVwKNorYgw6wIUuiHkthaSqRdmyixbtb92R+mO5p8KWiIX/mA10787rdCOhEJGpY7KmblZ1ySb0zAAr6ewVW0U7pSGShp7r2rdR4d2a2cXRofFxgIr2nDa2xoWXOfCzp41OJyJzVywO40TWUDKDYb4hy8ZP1w/EY2hxRjww8iAHmC9Bit96sAewF3a4+DZYXRNCKMlo9Qj1/BwkgQKvpi73J/BIZyCFuWg6n6H1A== X-MS-TrafficTypeDiagnostic: SN6PR07MB4222: X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB4222; 31:GaKq1hJmrGKcSKUZBPCHOoQvtlK31skKY/+EVX9A/k6iXwyAPmXy/HKb6Up6QU+gTOP63GmRAeNavTN57oufhnVh83qWjGq85n6wniDKfUKk4b+RCeSzlIvr/+uBPf9J+ktH5sv6Zl/L53BAQJ8IVpDZryVD0ZN+oyRCrDziGePH+PCbedCBhNB0nPbrtcBsDzQFlK4XLqSl7uruGM4hMvu8cMVvhw4KECSLlh7t+pM=; 20:4ATBqK7BM1wJqYOcFOVe0AheP0LDzqiVFma4NvahzfRoyHp5OK9Jx17134cufoRDRU4tLxL9wi5oqbqSvrCGZfCgOH+YrOmowYUPSkGMDnKZYwfuTriPYnDWjPeJB2saz9BTDfQzyrwf+lokZG1UNLLBfkcsEkPeIBcFW8RFp4h8TFGRevXNIe6x4lkPTTdt9JkEZ1lLI9F3MrDC2AyJnY671/tYSMErgCeT21eaIdqCV2aBiIHA9qruaME+b4Lpok464nZ1pOk8DjylA8WG106w35EN6qzXkAKC8WdGLhiTKZS6lgXJnmIFZGFhbXbzLP1JDLT9c9XSvmGxLMvTPaK/4u37LYHKoIpcvX05PiRJ9oXfvcg4KNe6PVwA6iBHTGJRpofImVZQCCGIX+OsN7pfSUrJnaiEyukTUo5NWzwaETXcY/5r5ONxpIuofPHiJEw9muyngPo0Ls1k6A3takmwMyTc3yK4igIBZxtIOz8jKZI0ZCePnjX0wQ7H68li X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231221)(944501319)(52105095)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:SN6PR07MB4222; BCL:0; PCL:0; RULEID:; SRVR:SN6PR07MB4222; X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB4222; 4:6vMI1W2vX1hVR6QHrIXz00DTZ0ILNyqUf51KeUCzKPTwnDaig1tFUXhG1sSk525y1aW0yrRIuWUGTfnVumb9fs2p0swqwoY0UhVagFMe+Ti653ZNMPVnA+c5pCAuci0hCP5MeqixpDGn6TJiVOSlJqlWCmiltpXLoLTYh+MArpnXho9QbkcWi5GDIgLETBlyxjHVkXovchomIfF08ACDgRhJbyxV0d8QtPQRZvOwv5IzLyZHw5EjxyTdDuh2L8gHOKgxVhJkX/KDEGP8qcxcYQ== X-Forefront-PRVS: 0618E4E7E1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN6PR07MB4222; 23:U83eCMQLaaZJ0k5ycAQcP9UPcq9+L4fk0RTTf8tJo?= =?us-ascii?Q?O9WHainxYTnSwkZSKYhLzxw8EaS2RDqg0HB1uPH6yL8x1/xLugMSwgIfXXt1?= =?us-ascii?Q?i29wjFlskrnPpOoMwb9wfvd6UlcF+C0AkXU0/iy8PXqoaCD7aH+RrNqqJ9Xs?= =?us-ascii?Q?kwK0MqCDm1cqKIFi78JQxEJd/Xb1QkKytBnXZEzHsuh2AORnjBBaieOL1OGq?= =?us-ascii?Q?UZZCGalumKxRLdJgZMAXi5UPojS8omcNKDjbshi3C1pbh8JBGqQYBMwf6pMl?= =?us-ascii?Q?8yrg6TgovWsH4UR/IQYXka5ZjCkXJYXMvWddmAzPselv8Uh3HkEOea9br0Lz?= =?us-ascii?Q?0atKEKa5xYinQy9yTDekAax5YlrMvzQ+qnsXK0JNYXfUjU6nTT3Xtgvk+nkW?= =?us-ascii?Q?tFN06XyKbtVkqjv1Xii4xMNd4lIEYdfxqdinq4sFt3/ZeqGj+VDXDAxkp3qR?= =?us-ascii?Q?nY7oqceM84+Vyya3BhLWMtVcKveQNTbVS9IfEewfVS0vEX/AcYeh3Ly93shV?= =?us-ascii?Q?38c7fqficEu3CNL6EZbmkXF0HZ4P6vL0ON/hpbdvk/4E3Al9/t7YAR7cbxpZ?= =?us-ascii?Q?amWbTlyTxomkojBjEG3lAowFz6yAmMofKfuAfitx8BwiI6NUUHDz9CsvvTAP?= =?us-ascii?Q?VbFu8h0hcYNJzwnfTGC0Uf21fDp7U0epHfqIW9M4ILCccbaeNQZ5q52Wi3kj?= =?us-ascii?Q?WlhIQsXWXAx6gFspeYVjrxrgvbIiTtfwTa3NLx0ZDkL/qV7nFcTlaIvcj2Kl?= =?us-ascii?Q?/e8L+8tp/RVUt22mz4Wy87sMgmChT+Pyznu6Q49QviUESpZHJCo9g7HVZyY1?= =?us-ascii?Q?0b8/c6wxYC4ebG3g4gkzd1i9T8h9TO3tsomLmy0D9YcSctqTq1G0alzB03VE?= =?us-ascii?Q?nsdLBwnoe3vPRtS/MaaIQgKV4cEiuSQwUriYG4uZg14m54LANRGb7topCwbB?= =?us-ascii?Q?AeNwm2n3zHdOGioY1eQ/jNDZE2zW1YtICvaKJciOpz/gwikOZZOWBJWkw6wk?= =?us-ascii?Q?MI6bhqGEnrLV//YdcSurD6ri7yJx/4oTFX67Bx1B9eBvMvHMZLsRJqGsY+mb?= =?us-ascii?Q?yb3JRXc+cONFSo0b9VkYluJVsV0pK0AyJcCjxMSxZ3SLV2g9d9khNxPUyt2t?= =?us-ascii?Q?WJcwAvGeyo=3D?= X-Microsoft-Antispam-Message-Info: FxWpCpVxF66qypo01GROg93z2IhTXE9osgO4jbmunMJmGPDsr6lX19RQqevJABjWS1wDQtBHIwnrrif5tlQKitNy0tERLbqdsFigWCpMNV7vTDe/9p1Dwp/wLAzslcqICZIBX91bhccQmglB8ttqvHc7O0blKwnckuVspdmN0o71jwtXLHNFPtm7JopkwaPX X-Microsoft-Exchange-Diagnostics: 1; SN6PR07MB4222; 6:0WPc41XQzNDqDFEmzC4AUdMAr74Yv06c77NnhNUWf5IF0WNJmwH3Pw6u/5qcIOUME2WIV/tj0S1lLixKCRg1XccYdKAwAO+xxP0fOPD5p5cWxkikU6nAOQ5GY1PQMMaD6K1B9tF6vkng8lHvGfqxlZel63oHUYJ3gS4uBjTzPXWxIvFMQv1iuhV/6iY0ziu5Rsj448NtmRONEKPOL6zQhmQlItfOwmKb9QMpYPo9iOkHCvWkgIUl4CEQb66a19QrRVhW2Y6c8F/1GcZo5P4XI9GUNnCP7aCHi22aC7+Hp5bcMlyDZuIx8z+Y5xmEfeE22fMO3i5ZyFC3NivSR7kLZQ+fCrULmTzWI+sYfeIbHZg=; 5:Bl4qlIZkfhrbK2PD19yx5FB3K0BszbO6UKdPlhmRkc65GWcL80iluVuNiHpxPjpA7R08yQN30BYWT6scMCvsEaPpdUZF5QdUlESPoRabWtEDybQ8DDRq9f716HcWSvpNwif8YvRI2b6XYWnscIhfO+YHGri10fp4K+HKnmtpM1w=; 24:YQlX/y4ptj8rJd2snwYX0clvt81/EGt34F3tfqmVODsQdm/69iM5nSU+7nzgcTl3jXrTd15oZCg/wTlowVHodmflqbH6Rtn/bcBpOg2h+68=; 7:P27Vf2gA04PeHmEuYG3vF88rwwbAj5VbXi6KQQaAJ9qTfX6c7wFCI1/Yg4+2Cq2n/q8OU3hgEmdBaDhCy95TmVKZMNt0gVKu415VuB3/4hZDziU8g3IPlRMU719EighJ6gHiidVEQKYVpLuu9jewRREV/oLFkwtjLjsxkMY89CjnbtAf3MkAiwedYfODk3ijpC3rY6GTNir8n5pRlmvUJcZxsPzkYGKHpS4TeSB+nIJErsh1uOIfGFRTE/loBatm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2018 06:09:58.3801 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1c567cbf-81e5-423d-1d1b-08d58ef26009 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: SN6PR07MB4222 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: Darren Trapp This patch cleans up ABTS handling for FC-NVMe by - Removing allocation of sp, instead pass the sp pointer for abort IOCB - Fix error handling from Trasport failure - set outstanding_cmds array to NULL for nvme completion Signed-off-by: Darren Trapp Signed-off-by: Himanshu Madhani Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn --- drivers/scsi/qla2xxx/qla_isr.c | 78 +++++++++++++++-------------------------- drivers/scsi/qla2xxx/qla_nvme.c | 2 +- 2 files changed, 29 insertions(+), 51 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index bc2c7ded6949..5fbb8f4b4dc7 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -1837,31 +1837,23 @@ qla24xx_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) sp->done(sp, 0); } -static void -qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) +static void qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, + void *tsk, srb_t *sp) { - const char func[] = "NVME-IOCB"; fc_port_t *fcport; - srb_t *sp; struct srb_iocb *iocb; struct sts_entry_24xx *sts = (struct sts_entry_24xx *)tsk; uint16_t state_flags; struct nvmefc_fcp_req *fd; uint16_t ret = 0; - struct srb_iocb *nvme; - - sp = qla2x00_get_sp_from_handle(vha, func, req, tsk); - if (!sp) - return; iocb = &sp->u.iocb_cmd; fcport = sp->fcport; iocb->u.nvme.comp_status = le16_to_cpu(sts->comp_status); state_flags = le16_to_cpu(sts->state_flags); fd = iocb->u.nvme.desc; - nvme = &sp->u.iocb_cmd; - if (unlikely(nvme->u.nvme.aen_op)) + if (unlikely(iocb->u.nvme.aen_op)) atomic_dec(&sp->vha->hw->nvme_active_aen_cnt); /* @@ -1895,45 +1887,30 @@ qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk) fd->transferred_length = fd->payload_length - le32_to_cpu(sts->residual_len); - /* - * If transport error then Failure (HBA rejects request) - * otherwise transport will handle. - */ - if (sts->entry_status) { - ql_log(ql_log_warn, fcport->vha, 0x5038, - "NVME-%s error - hdl=%x entry-status(%x).\n", - sp->name, sp->handle, sts->entry_status); + switch (le16_to_cpu(sts->comp_status)) { + case CS_COMPLETE: + ret = QLA_SUCCESS; + break; + case CS_ABORTED: + case CS_RESET: + case CS_PORT_UNAVAILABLE: + case CS_PORT_LOGGED_OUT: + case CS_PORT_BUSY: + ql_log(ql_log_warn, fcport->vha, 0x5060, + "NVME-%s ERR Handling - hdl=%x completion status(%x) resid=%x ox_id=%x\n", + sp->name, sp->handle, sts->comp_status, + le32_to_cpu(sts->residual_len), sts->ox_id); + fd->transferred_length = 0; + iocb->u.nvme.rsp_pyld_len = 0; + ret = QLA_ABORTED; + break; + default: + ql_log(ql_log_warn, fcport->vha, 0x5060, + "NVME-%s error - hdl=%x completion status(%x) resid=%x ox_id=%x\n", + sp->name, sp->handle, sts->comp_status, + le32_to_cpu(sts->residual_len), sts->ox_id); ret = QLA_FUNCTION_FAILED; - } else { - switch (le16_to_cpu(sts->comp_status)) { - case CS_COMPLETE: - ret = QLA_SUCCESS; - break; - - case CS_RESET: - case CS_PORT_UNAVAILABLE: - fcport->nvme_flag |= NVME_FLAG_RESETTING; - /* fall through */ - case CS_ABORTED: - case CS_PORT_LOGGED_OUT: - case CS_PORT_BUSY: - ql_log(ql_log_warn, fcport->vha, 0x5060, - "NVME-%s ERR Handling - hdl=%x completion status(%x) resid=%x ox_id=%x\n", - sp->name, sp->handle, sts->comp_status, - le32_to_cpu(sts->residual_len), sts->ox_id); - fd->transferred_length = 0; - iocb->u.nvme.rsp_pyld_len = 0; - ret = QLA_ABORTED; - break; - - default: - ql_log(ql_log_warn, fcport->vha, 0x5060, - "NVME-%s error - hdl=%x completion status(%x) resid=%x ox_id=%x\n", - sp->name, sp->handle, sts->comp_status, - le32_to_cpu(sts->residual_len), sts->ox_id); - ret = QLA_FUNCTION_FAILED; - break; - } + break; } sp->done(sp, ret); } @@ -2461,7 +2438,8 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) /* NVME completion. */ if (sp->type == SRB_NVME_CMD) { - qla24xx_nvme_iocb_entry(vha, req, pkt); + req->outstanding_cmds[handle] = NULL; + qla24xx_nvme_iocb_entry(vha, req, pkt, sp); return; } diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c index 57275bc9fe14..c5a963c2c86e 100644 --- a/drivers/scsi/qla2xxx/qla_nvme.c +++ b/drivers/scsi/qla2xxx/qla_nvme.c @@ -280,7 +280,7 @@ static void qla_nvme_poll(struct nvme_fc_local_port *lport, void *hw_queue_handl spin_unlock_irqrestore(&qpair->qp_lock, flags); } -static int qla2x00_start_nvme_mq(srb_t *sp) +static inline int qla2x00_start_nvme_mq(srb_t *sp) { unsigned long flags; uint32_t *clr_ptr;