From patchwork Thu Mar 15 03:35:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 10283889 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 0D9FA60621 for ; Thu, 15 Mar 2018 03:35:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EFE91287AD for ; Thu, 15 Mar 2018 03:35:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E44B628806; Thu, 15 Mar 2018 03:35:38 +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 5B778287FD for ; Thu, 15 Mar 2018 03:35:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752034AbeCODfe (ORCPT ); Wed, 14 Mar 2018 23:35:34 -0400 Received: from mail-bn3nam01on0078.outbound.protection.outlook.com ([104.47.33.78]:26624 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751840AbeCODfX (ORCPT ); Wed, 14 Mar 2018 23:35:23 -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=Rv5d5bOecY8m0qENNC03tcP7vBFRIBrXskjVWFihLaw=; b=G51wE12NUEVZmuPLwTrRGfkFhothjak8ELYd1AZa2hXf1mPSQSPlJnUkVocTOaqz43uLRiQ6AdwO1Rot3ktDFXeCSinNFLjTybLIc3Z0k5PVwwdDhNMhu8TQxEUTudODDrbAIR7zflQL9CtilwFzDfb0JI9FTFqUkAxkSE+m+kM= Received: from CO2PR07CA0052.namprd07.prod.outlook.com (2603:10b6:100::20) by BN7PR07MB4209.namprd07.prod.outlook.com (2603:10b6:406:b2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.567.14; Thu, 15 Mar 2018 03:35:20 +0000 Received: from BY2FFO11OLC012.protection.gbl (2a01:111:f400:7c0c::162) by CO2PR07CA0052.outlook.office365.com (2603:10b6:100::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.588.14 via Frontend Transport; Thu, 15 Mar 2018 03:35:19 +0000 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 BY2FFO11OLC012.mail.protection.outlook.com (10.1.15.23) 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; Thu, 15 Mar 2018 03:35:19 +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, 14 Mar 2018 20:35:07 -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 w2F3Z7wl012707; Wed, 14 Mar 2018 20:35:07 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w2F3Z7m4012706; Wed, 14 Mar 2018 20:35:07 -0700 From: Himanshu Madhani To: , , , , CC: , Subject: [PATCH v2 11/13] qla2xxx: Cleanup code to improve FC-NVMe error handling Date: Wed, 14 Mar 2018 20:35:02 -0700 Message-ID: <20180315033504.12628-12-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180315033504.12628-1-himanshu.madhani@cavium.com> References: <20180315033504.12628-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)(376002)(346002)(396003)(39860400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(2201001)(8676002)(2950100002)(6666003)(59450400001)(47776003)(336012)(87636003)(2906002)(478600001)(81156014)(81166006)(1076002)(50226002)(4326008)(8936002)(305945005)(72206003)(26005)(186003)(6346003)(5660300001)(86362001)(48376002)(106466001)(51416003)(105606002)(54906003)(110136005)(69596002)(80596001)(16586007)(76176011)(36756003)(42186006)(316002)(356003)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4209; 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; BY2FFO11OLC012; 1:K/84Sc5VJ+s3M/MwDWhVEaNeuwDZp+RoSOz1XbJCLWnoO8cbxNQaQ/f+nt1lC4EFWI+qL2DGL/S4qy8Wd309tKVRDBLt4C4TSQ5bAD7A/trL4XDIcAMqsaOVkI4gCwVE X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1310867e-9d60-4e33-61ec-08d58a25c6c7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:BN7PR07MB4209; X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 3:c1EAoLleydHrL7j7D6hpjhikgdECzZKMotf0uFKUn0ck2LGHMc7R8esdPT0/g18PL+6Ds6XL1F4pnEtNMr1ZMwfcE5+gmT/IbrqZb2MVwG3bxKZHqGOSCZAybTXa5D7Gzc/YgMleXMw1cIqJb3E+csUoEXjQeV1MdzUYKc9Pqoap1JAiJjKCUY9OFJDhNV2ph0woduqeE1f6N7o0Eb6BTKq1vTl4oGJ+8rIN7lMX/y9qdED9u7mWq5okom7jK9+braHfElMQ72vofRNtxcmBVzF24CpjGYTM1QtVxhfDbci3AIVy11ATP+RgcEAEVqO42+/ATcXOSzKerc756mRMFyaj6frV/C//o17D7ZeRT+U=; 25:zdJT12W1FW1rN6MuiomOVj7NiadL9oy/oAIElwiy2iIOQTbePdJeuGcjjmZXo5r6Fp05+FYa5g9SyxLHJRg2fnrTxIb2L0hy0DrMig/hedDvj8b0CliwBmkte8ZMXPLoBGG6yGBuBC2FDkFbwuBq1lavsVtjYe8VQDlb1SFO4j+BZuBG5/06Xw+T7F0OE1lDS2fZ01RCavEOqlELUNpS/iuX3/pZm9y1epDKi9FyQM8f3r7b7FWjdQhoTPFJk6rlmdUO9CnBAqxkfVAKB1HXB4BWPNFzfnq8H+yvVlob4vDw2o31+1fy5jAdsoX5XtxT3XW1Wq/vDmeKhuCWkIh4bQ== X-MS-TrafficTypeDiagnostic: BN7PR07MB4209: X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 31:H6ETSsJxHBIsrVSnIm/X2fuREe6gGZ6J0uGMTIkU1r9tCSrHJNWpmJgCWf5wliCtLqXfgFLcyjZVBCl+m7ynFibAaAkm8A8Ze3z3xNIWzC3mbssWKhDN4Z3BS5sZ283LzzvJXPQVg2MCPLCGjmMBD7cib7zdTpPkCgEWH1CdixXpvR7LNK3BnOqK4VQQtJmS+RQmaXCAyGfJgLXwypeRPyqYPY2E92ReXoPQztoP9dg=; 20:WWH2JZP6WWeQfhWY4jIll0XG8EChrM5SE84E1MTwVApHfAD+/rKBq8nCjVIv6ErmWFPQ/Q6LvFn5B/Uqp4Cpt1a2hDX46t+7x3P2yzhM5RbzwsOYlMNpWOVRNG4Ho5Ggz8eSMBiZASt+Cn7mrKqervW70lwx3IgmejcC2YoTlDRrwHEq2ifOKdWEwitg7qh1s/Fx0TIrqkvscNPQAPUAIbIUAdFOyyvU7xfYVE+4tHJFbzmKn9G8reBp0pm/GOCcZuDc/SlA8K0KGVfYEd7G1LGeZ6EEEsIi2Pydt0PH8Llu4Ze6PgjKV62B71EKtS9jQIYhvrrwVP0nU4ZPz5Kr9vh2mK9DvSiI8Zp91mnzcvFSpB3BLSDc7RXiAJ3/OG68HTOIqrmfrZCGVLqZSe29Ty/vWJnAFymj3wPVtmqHjbNrHwu5k1odGfBKXjMK2GIh+8BBXWP/5Xxs4PBRHVY9Vpimu1xD5hLSGPERMOe4irCpx41gvOLlx0RPdL65nuK8 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)(10201501046)(3002001)(93006095)(93001095)(3231221)(944501270)(52105095)(6041310)(20161123562045)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:BN7PR07MB4209; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4209; X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 4:TE7E9PWHyD/IqvAsbIkpfPqSk4DUJ0YQYfVGecTlYO8y7MIbmGGqtK0BWQkowF185AqD9oWt0jjI3f/jQwr5mceWLEkwmLA4YUE6iNfu8XvLveUrymXpBCEcbDqg0xbxrj4f9fphsg7pB48Appwo2GKfwPchK4a9xGob6y5pZ5dtQxK1BndSORtHGJhmQrYn4poa1LuYW2zQWSw1uVbuRnrSP7RZ+jfVtbxqIik//wA/XSYldw7ou3JgNaDtVktAg+cchNcl4i3p5K148tY2OA== X-Forefront-PRVS: 0612E553B4 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN7PR07MB4209; 23:oItvEFlX9HdAMEWLW/r4g32aeFtMm/gEoB0zf3nHc?= =?us-ascii?Q?ndabsfudsCdZjDaJsavPa4Fb8tdVXbQsPIBCjtYYVvTR7du9ROIT5zSr5sTk?= =?us-ascii?Q?lypIEbCzSY721V5TvbAXjKwK6WkI1RGg4Lm1b/3ntxYH0KDsw5IRILZnCcV8?= =?us-ascii?Q?WaTfidMBDr8fo+o9LJt9Qe4WidGZy9rjMDNC6WtgjeePIbQuGk6LnPksXZiR?= =?us-ascii?Q?OpI0u9CPiDIa1lvxMyaS+H4pqWJwRLmi8U5UIckALcpYNKy5NsyLS6IG00PN?= =?us-ascii?Q?YrpGuHfhqw7AAhfhwPCx8o/kH6Mz/LXC7T+NwgY6Um6I0y6ufGQufa9dbwZT?= =?us-ascii?Q?Ix142TXAk3qVBULjuymgXBjMtOKMniWVABgAW+rUWuLie1uQUkgl/jaK4+om?= =?us-ascii?Q?85HYhrBIhfgXRxJeGgWylywJDN3waPtO0SwlzxT1H1rI614Go7oK8nN69/Ns?= =?us-ascii?Q?628BrWbLnJvqLerDG/TGAkN7BcQA5XTLRJRL9Y7z5gI9Io/5Eucwm6WEm5w3?= =?us-ascii?Q?Iiuf4AzTU8610py3iIC20SMolxkBw6gY/xp9NetKrpGrA9yfXKB2rt3emZ6/?= =?us-ascii?Q?o+iOF7lxJ7Ga34OuM9El/R2DKueK9J747W/bZOCXQyJTXlJSjLbecomYTHsH?= =?us-ascii?Q?XBUrX+oWlQRqNSwDsuBXWQ/YjWBFpg2WbrbVh14senY8gLR9mFt2xNKjggy7?= =?us-ascii?Q?ik6A7nZN5Gbn2PjFievR68cy8QJKAvvHV0dNct9s0LCoUvkQz2AJnEoFYtXA?= =?us-ascii?Q?1VwjmL9Xm4Kt7be/RcqFcpTbjRDNKwifAPI9+T0QRxgxv/4xITQ8YVUdmzgG?= =?us-ascii?Q?9t7jz6QgmbrE5jwAlNelEU+B6IzZ21aGc4D7rHEBaycGj9Xht2n8LPi13oYU?= =?us-ascii?Q?lVoUJPnNV6Zi15m/W/8ddiLNtW19XhVsc+tj1JjVcYde/8qVtFJp4+rT84Nf?= =?us-ascii?Q?IkELRQeTOjfyUML8/vrhk5/fArxBTyEJUBvuM0/VVKbWUVLSkz+VHo74/xmj?= =?us-ascii?Q?lcPLTl8264ICHjorGchIlIMlxhy3mnS3YMOv4g319TF/u+DkBhO+UkA5V8F8?= =?us-ascii?Q?DYvBYZH+v3SFjSQvgAfV9zhGlz0BkaOPP7WwvvazjX2R1X1ACaOR841rXyQA?= =?us-ascii?Q?HriDT0WvMRFhvxOCQiumk78hylt0lo1?= X-Microsoft-Antispam-Message-Info: KzPRgzOZg/ukZuIv3RaV+u7AYjDNnyPzVBlL5sZZunLE4y5c+ymlqCOD9ztZ+NhKhOIFAoWEsAZ/T5DawWLPic+xF9iMWJ9isengXX1y9JLcaWNpyIqIGuSFgJpS59r9QBuFGKUKUrRcsfsWiSRv747WEljbYMGyQv0ii5szELKDP8yHMDmrVo71T5LxRIYi X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 6:skHjb23gnrbLF2eKsJGq58DnuO7AAA5+5f/XcLbD12ZExftYYPJHO+azrvfP5n6Cg0Wmp9DSCSFVT/B+o+cVvBhRe3b/+Xq3ts+KQXx/q4HAoDcyOWbK3SlL1pBsQC41FB1PWoDzQTjg/1CG4ZyuE9uRfsSPDhJeMLXvfcKsZbEcE+kC0uuGzJQ985CTGN0Fc1sh2q6u1BNvGsdFgNzYCDu9bNPvaoMks7lm+vOw+cCqQ2Nr4TPNOvTyRnahP8t2XZpUNAmIzjXSeNFUP1goMUU0deg1hc5kcO5CHmdMtIRS7yU8zIVift12uSjXE9y4wv6Zhxl700GFg8sO74FS0oLcjOpR7I6oFLg98XY0sc4=; 5:K2cvrrAwYr5lWu8a9Jonpso1b34g1vvEsP6zrc/QyNPKGXlIIt+y6iAaKu54woPQzVVOgW0dol8WCpFWW5SebbXMMi4HjOjE4GMuOskWx77BsS4GUIvm/pvHyjTn1ku9he0/8NSrNhKfcf0m6mUKJ4d94p02jKgAWau9zv5eKzc=; 24:EpKOL3XnRu6FDXiv1Ar1/rfQooihpAMKWLfTWK5Nr8etn70vcuujU0IxI5w4nH3DyQBTqnOFpZi+SJL5ESa86JmmK70pkFy+cAUSFXH5r44=; 7:t7yPxICi8VsSxlgYrgaya9nCickdKkBYW9nlnzoky3omLKKlkRBGuE4aKCyboFwY/iJZXIGEMkbUO0q2Hod/9l9qLvZ4amyV4mv8U+9++ZagAJQEXNX5fKgY9vJ5HKwVbjeSQ6Xoyl5fOQilqjvTlYBTq68W12o10tSUFkRCGk613gsizd8PJZh8vyKxiphkoro8+59iZeHRoUXOIv/OWSqAV3loKxfL71Q0Jk5HJ6qUirjlM++bJU/0jvvfaUYM SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2018 03:35:19.4143 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1310867e-9d60-4e33-61ec-08d58a25c6c7 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: BN7PR07MB4209 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 Transport 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 07c98eb911fd..7cacdc3408fa 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -1838,31 +1838,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); /* @@ -1896,45 +1888,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); } @@ -2462,7 +2439,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;