From patchwork Tue Mar 20 05:58:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 10296441 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 D1FE2600F6 for ; Tue, 20 Mar 2018 05:59:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C13EC28AA5 for ; Tue, 20 Mar 2018 05:59:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B5B202951C; Tue, 20 Mar 2018 05:59:13 +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 14F2E28AA5 for ; Tue, 20 Mar 2018 05:59:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751719AbeCTF7L (ORCPT ); Tue, 20 Mar 2018 01:59:11 -0400 Received: from mail-sn1nam02on0050.outbound.protection.outlook.com ([104.47.36.50]:61712 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751701AbeCTF66 (ORCPT ); Tue, 20 Mar 2018 01:58:58 -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=HYpuhkc2cKHS0Ee7vdbbXbY3ULvEOxKMskWXYNDjdx0VIy8j14kie/faonYZBoGShZmpX1zie0KrebpcU55V4TBAJVSM2O+4eSRUaBdYC68bUZAasG2AWDRAFfhQ6sQo8oND7rzM9xDQ5/+M/Xb9AkeqzE5+T7mMgYxAvo6IUAQ= Received: from SN1PR0701CA0034.namprd07.prod.outlook.com (2a01:111:e400:5173::44) 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.609.10; Tue, 20 Mar 2018 05:58:56 +0000 Received: from BL2FFO11FD025.protection.gbl (2a01:111:f400:7c09::125) by SN1PR0701CA0034.outlook.office365.com (2a01:111:e400:5173::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.588.14 via Frontend Transport; Tue, 20 Mar 2018 05:58:55 +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 BL2FFO11FD025.mail.protection.outlook.com (10.173.161.104) 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; Tue, 20 Mar 2018 05:58:55 +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; Mon, 19 Mar 2018 22:58:40 -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 w2K5wedQ005325; Mon, 19 Mar 2018 22:58:40 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w2K5weho005324; Mon, 19 Mar 2018 22:58:40 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 11/13] qla2xxx: Cleanup code to improve FC-NVMe error handling Date: Mon, 19 Mar 2018 22:58:35 -0700 Message-ID: <20180320055837.5246-12-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180320055837.5246-1-himanshu.madhani@cavium.com> References: <20180320055837.5246-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)(39860400002)(396003)(346002)(376002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(110136005)(54906003)(106466001)(59450400001)(16586007)(356003)(5660300001)(8676002)(81156014)(81166006)(8936002)(6346003)(26005)(4326008)(186003)(36756003)(76176011)(47776003)(1076002)(86362001)(51416003)(87636003)(478600001)(6666003)(105606002)(2950100002)(316002)(48376002)(305945005)(72206003)(50226002)(42186006)(336012)(50466002)(80596001)(69596002)(2906002); 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; BL2FFO11FD025; 1:2XsQ7IdRHsa/WhxmIyfllDMmZC45lPTsiK5PMhjoaubrM8rhmaDbVpk86coRZykZgmSkl5w3uCZ2JIHrx2tnS7ofaF2pZ6jNsAhZvQwOYEl7r7EorjXY40ylLqjS32ZM X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2da5fa49-7f1b-497a-4ffb-08d58e27aa7d 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:S3FEgxIYEivwE5Eq7kkkB3jGf5QhJvJf25N31eZJUwGL+GGyVYySARchDTiyPGt9TY3vh1npsPc2npp0dRGEXCEFn3EGG9eZEZOta9lzSqtWYVv2iyXvBAz9c7jLKyUJwaCIajxI9xFJnnWz1n8NmJLqh4BwVCExmjjbsvlzPfHhHHvuk3QSzevodmIsq8VxZ0kkVKn6QwdauexP0Zo0KPgNZm3STti98p23QQYWr44aTIo38/oUlCywsoP844FSaZFrExH+6MnsmMFoMWfFUKTcWSmYajatC1JeearDxoPO7gjQPMNcIRvfVTX1JJhTpcp0nGDdvVNrSRuNLolw95Eg8XV7jfZ7ahGACZd+yxQ=; 25:2RRqezd2uBL+IOKITQfA44vR8Z8PQB4kBCDFh/8PYBQ4VDNupg77jQ5RlEGy4FtorHy++w9MnJZKue6m63rEf1PFvnM4GtRcsTSLrHHumSw3icdXvCTqWrQsoFVNOUjAIaWuSVG7LyLV+d/VDigS3dwiGttea2tFyh73fp16Qvepe05AXBArKKF7+YnAtq6Zkt2i2aSw3cpsfY0mWOSHkYIymK/Of/QAXrPb1NBYgWWQHTSBl3NE0hataOjVLPBRlfkez9wyXrYoisfa0zrVKpEKlJFmrrbpBQVyxXd4N8SQtii/Xk9ZbQoq1b79aXOH6BBwiJ2M2ITz4+EoZ2b2tQ== X-MS-TrafficTypeDiagnostic: BN7PR07MB4209: X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 31:PGEWbGMhi0EYQ/UKrmesYSP8/nNMM9u+h2AfsaMc8mn+P3LkwmK95eENoxtiJqRBX0dvf33jhpjJ0fGZK6geucGa8J6pyG9ink1fyy0z7gbKgoHpARN3BhCnA8xiMpNFdpJY1HReQ6v49pLB8ih0XK251cxlproMvm+rRXuENloZHIv61FjKA70ndfSIgZh1VFHY+cbooIcdO2tOPwAiAivBvTj5ySgYQ4cqH4RtIVw=; 20:5v/Ba7gqg75ihEtlpCRDOhfvy6Gih2WatD/FcZIyEY2vNJo5WMhGeNBsIjE763gLHxl2Zxyjq95kli2ubDl5ukBJWpRom7Z6PGh7dCk/4+i3D/xLNrreMoVPc0nWlKDRU1Fy86mOOOdpQOgBnN+S+oH+YjfCQb2QGw8+WhxkyXzGZXW+Npxr/DhlPyDRmR3PpXqvnRFPAx3ROFk3ZQ+Bj49oDUJ752GtMQNdJcOJmhFj10hX7jMuvabZSLTACfFeIsxj7cvmxhbn8yGzVHioJQwzMJKpg4nPDixzgXa0P4u0BkjoJhLHDTFKFj/wktoA+K6cDlw4+Gv1UIZtZAXauQnIZZhm2nEtgzfEog76mHIjzIUgdLNK986PzjBZWbhn4eQ5wnYrRxRfXT74XVpeiq5750I8bJdiSOifTg9H8tQA2H0H0Db6hoKaQdk8mJCl06rPSw46iKJt4cLY9LoWqAMxqVY+ozuJ+p8kzVOolC2nq27juSor4vrc1BxsPPjv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231221)(944501307)(52105095)(10201501046)(3002001)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:BN7PR07MB4209; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4209; X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 4:3mkZ2bTgr6+wlCTXePs2cDZMJmPBgHBIb80DkBFIQHRI8WLnUGK3ApBe+QC+mM9FoLhsK8KU5wTMlcvDHh+w4/BXnQBDnjEPIABZeIQcMBUxg18nH6x0qyvWusZWbwvYKR/mFkensuB7aDLJ4Wt8hCxtmiH8qAz1FyT6Wh5L0PpMrN+u2BYjSKrxwbmJBemmJr59anJg6k9+Y4N7oG4yP/ceNpwMFuip45DW+FFP1nyb3HpR4bjnQTMP8mr2G/ecb1sJMX4wv/1HTZN3ZKoI7Q== X-Forefront-PRVS: 061725F016 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN7PR07MB4209; 23:t/1Hdc8MDwl8uai3diYm/0zUYQ+h09IVfKQtqUBIa?= =?us-ascii?Q?2ZPuCOXkH1pvH4iehctlbBmzAc588i7jja5iy5uw1txQlU5KRZ/12MjaUOpV?= =?us-ascii?Q?VYlGA+BOfCgTcNhABfuNgUkd9nA87MrFSi7KiwkxF0+AmhSXcNI9sVfAPigT?= =?us-ascii?Q?3iP63R6t2odrwIv+THzLhc8uTmzlYiMoziHHc9gGDOp7s2FWJZ/TIJDQNXjs?= =?us-ascii?Q?788kGgd8MT4hgK0xB5/TdgVHa+tsY9S17BgUacfz5xbsUSiqvGduZiIcxOSK?= =?us-ascii?Q?AAN8bj0cMdDvuIG6py40HpouwEz4kIXy/tOJ5vpK0a62inDH+HlO4sKf28VS?= =?us-ascii?Q?CG7Av2oJ7/UZsH2Lk7SwuGY80kAmF0WvoxvtN3TG5nhi0hfqZA9yZKgyevb0?= =?us-ascii?Q?ijh0SA/vfmESlrAqa41KYbJ2LET5JRbGQPNhPOriORgC0HxVnWeEnny5smZr?= =?us-ascii?Q?2d6TWuO22tN7ctn0jYzG4Q2wMVvrfRwYPPUl2i+9Twa7ffuTXihcIcsE3TLp?= =?us-ascii?Q?8H9Q/URvgCBArerGWEw68udtexrCq1pPhEGl2OEipju/p8zDuuPH2XpNZxOJ?= =?us-ascii?Q?mPZSQ8RxILeNZ7lHVK+QtlQF8sughjRBNxzX+vXXJ7RlIrAEtClZNpobkHk5?= =?us-ascii?Q?pqKqKEessZW9JH3FPnnKvWElzFSznlD62EyyKneWvtHUCyVjwu1yFwkuSvNP?= =?us-ascii?Q?txTAPmOFA5UTHgUSFQ+uIi8jp9jRTA9b9W1EQkF8Se85jLbz3f2jUzsydghC?= =?us-ascii?Q?N7rsoxUkdPPYxj1b/8ArBK9YaeyvHWcNb+p3TIkonTllAiWhIdU4oHbT14G7?= =?us-ascii?Q?Wl9Pg5SkrOBp0joW/NJqWnwI3b+po1UhGRpHy8tBHks9D7nZ98djB2KRUmaZ?= =?us-ascii?Q?Vy+8824lUEqwzuAkbCwvzGX5y8iJUl/qnpYFEZM8PU3jKH9I2UPJCw2bRCRW?= =?us-ascii?Q?FLmJ/gZMYQr5dOYXKid59fP70S2QlKMnu1klX+aaNSO4N0XFjH218GBOIXAn?= =?us-ascii?Q?b/um9eNPW4aPzHEeFZVOGqrSzDnus/C9SkM8VFxwxLWYc2YyoUh/U8lJF+Cf?= =?us-ascii?Q?YTlCcS/kQaqI8ViYMRTc/YjJfTY6kTqFqe7JmDC88FigRY8jilm0/VLsxm9G?= =?us-ascii?Q?fP+lH18OWY=3D?= X-Microsoft-Antispam-Message-Info: eq7a8NkmY2YALj9ksfWm3hkqSre+8ZgDeDDeoVwqTlJ6gQ9RSb/4injOG08PJ97P72N2clKDXBdW2la80Zzml9PV7gp/COFivAlP5CcpQOwpQ3umfQaP5zI0eHRpI2kLS8dFAintDpGGTXG+eyJhr9pJIh9acogZQ7/JSBTodXcTprrokkg7I6GRp4JSpLhY X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 6:hzmyq872n/YaFXHMJzkwzheeoPdSWHxsOl1RAOsAZXtlAUTrCcrVW6IIEFG4BaOQjbpNC48JBpEcopdmTV/HUHGtFnqQr9F0aoR1nC9SK05zThPvzMZjZbOi6+bbBWX/eg4FQn1fmtB2RfVEs50J6BU7//XdJbk9FK5LK6b3HzpBTT/2fhs2G66taXRnmRl1pmR1abdjPE4ztRnyu2mdT4RTkXNEYW7tIyKBsKvCJHYiylKvcRwfYgNOtuCa7JjVGjvM+h0yvg41UrOxWNAgPaKSJECy9mXaOGs8wp7dnl1oA47aVDpBvjKRmNhTqoUQ1tMaMp1m8yEhlqAinObqRzUbdjytZfH4vV0N0Sewmaq2F8mc0LRNhbIQBFiTAaKCzzIsuogNaZsyl9pGJzT4XwdVgMvQQ3SIyxxA1W5eSWXeyIL9AYqVI2h9xKngMDK1bUZjcMYBv+2dOAk6+k5DSQ==; 5:fehN9S9PpTqUUk2EBayOXalTlf+NyPO+Meop+OS9obzObrnEbGzKx7/WilqdhEkwXCLbILFVziOTfmsfNss5GeXgnYiC4RfhRQcn9J+SDV4wpMv4aF8QnxbShJvcekTRXASu+61L+/yDAEL0folArGbUTHAqPpo1zLM5iWEBIyQ=; 24:YgZURUUjaITV/DJcLqHkBWXBo3g4mm5v9j6FkH93IXponEBaUVxNCCUNjqqjArpuSeKTBZMpqehSOdFHrYfYGQiy9MKOcpI4XyVpn44PGrw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN7PR07MB4209; 7:fDi7cOmjO4Ve1+sr++M66DLteiu8acij2XqTlWJ0bSh1KjALJFrtMTttgafvtxLrTMzjNcZswIZSRfwuMuTnCr0Yd0oHyM3vGnrcVXIuJt715Rr+l4DXqa1l2fa3KsFZiVshxQWxTkCAo1oEu9Xj3/bzox4Bz9PKh7A8ilmCBeuVS6jnqgfiQVq3vBOYKyhrjiiaJo0sHacg7Y+YLMbUVSPee8SyF2ecRIB9ct48ElPTV1Rt7ykqEr2j7v6MNJGV X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2018 05:58:55.4413 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2da5fa49-7f1b-497a-4ffb-08d58e27aa7d 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 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;