From patchwork Wed Feb 28 00:31:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 10246427 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 AD2E560212 for ; Wed, 28 Feb 2018 00:31:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 92654288E8 for ; Wed, 28 Feb 2018 00:31:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 85EB128B26; Wed, 28 Feb 2018 00:31:21 +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 85784288E8 for ; Wed, 28 Feb 2018 00:31:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751767AbeB1AbT (ORCPT ); Tue, 27 Feb 2018 19:31:19 -0500 Received: from mail-by2nam03on0054.outbound.protection.outlook.com ([104.47.42.54]:20641 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751646AbeB1AbS (ORCPT ); Tue, 27 Feb 2018 19:31:18 -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=Gn8Emc0KKcqC8NO8JACyGM5aG0HZ2Ncy3f2Y1GCVpLM=; b=Qma2ohLxHBDlbQdkriGkmuLC4HC6ygdwTJm6bpoSDWxtuOba1j64APtvgTem4+xr6t6YJKskdHE2a14xJRyExMIaAnV6/lCuRGGVvv0Yf8PiECsVx9FY78wb4oBardud8sTBdu6CwI5Mps1oxHtC6bAGy+pJnPgoYQuVbwW/QvE= Received: from CO2PR07CA0045.namprd07.prod.outlook.com (2603:10b6:100::13) by MWHPR07MB3550.namprd07.prod.outlook.com (2603:10b6:301:64::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Wed, 28 Feb 2018 00:31:16 +0000 Received: from BL2FFO11OLC013.protection.gbl (2a01:111:f400:7c09::172) by CO2PR07CA0045.outlook.office365.com (2603:10b6:100::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.527.15 via Frontend Transport; Wed, 28 Feb 2018 00:31:16 +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 BL2FFO11OLC013.mail.protection.outlook.com (10.173.160.161) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.506.19 via Frontend Transport; Wed, 28 Feb 2018 00:31:16 +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, 27 Feb 2018 16:31:13 -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 w1S0VDl0008962; Tue, 27 Feb 2018 16:31:13 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w1S0VDSS008961; Tue, 27 Feb 2018 16:31:13 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH] qla2xxx: Fix FC-NVMe LUN discovery Date: Tue, 27 Feb 2018 16:31:12 -0800 Message-ID: <20180228003112.8927-1-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 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)(396003)(39380400002)(346002)(376002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(54906003)(50466002)(1857600001)(42186006)(110136005)(316002)(47776003)(59450400001)(36756003)(51416003)(105606002)(1076002)(16586007)(48376002)(85426001)(2906002)(86362001)(8676002)(80596001)(5660300001)(4326008)(81156014)(106466001)(81166006)(8936002)(356003)(305945005)(336011)(26005)(87636003)(186003)(72206003)(478600001)(50226002)(69596002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3550; 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; BL2FFO11OLC013; 1:k+/KlVG0OTS4T+qL9nqbOZWyLZe7v7O3reRbGr3CmfTbsDmyJSrLo537L0VUKmnBqkXBTBVVH24vcClDVwAUpHwhfXZPJjU06Vr3FAMr3maDvULibS98MpYSp5LKpFxD X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4ecfe5bb-22a8-4ce9-9a5a-08d57e4294a1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060); SRVR:MWHPR07MB3550; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 3:cZKjbrAlJdfOQ5UyH8mBmJaRDx3FPn9ksTwU7H21/7rp57aABiOinyHPKMEP5/5uHQGsb9Ck1Ics71nnTqvlH7AF2nhgAqMGbmvgJOMOLMlkIMvdhehB6h+z7/3VyK8vsXF1ughdFuUdu4LJTP8Xq+8gCNTxMLE9PNGIlMhjavmbgLWoFYlr1VWX7JyPpAmH8Vq7Ugc3vQ6TDJ7DmVaG2FJLWSChWVgFHAgjDSOKkzUE2fEv06JMXi5SKamjVnerrtKIYqb0HgmRCtQqpVdX2f76roR2zjVCccIgTQDson6K2Uj5j72uq/b6aNvrGmdLh6Kr0kF1PPTz8ETmzLvAffWwfFGTCg2NrRTuiyUQEnM=; 25:ICTTLx0CMCjUcvANLO0AmLF7C2rdhs+P9BF0ohSbe2Kz11kxe8SkAptxdUjBnpRjnJrfLltiQ4at7J7hIFvw3tTKnCUXEfa4bu7Qem0KNPJ6i0uEHY8WWGErfNUl/mA2gFzNyf51FWhm6KGfOdb5mxYHnrUK5jhchWuS66Xk9WCctxxuoJbbDQXFJhkcS9TOASBQh7flntQ1fw2mWJZw9ViLVGJFoOPqzof653hx0seCp8mThWOi82H3Nnf359KRAJMbvJuOW9cheuu7VEVDsqOFebEJJVOl/Ss71Wbf9D8hVjWUyEQ4XTgXoOwptllTA2QgSGUm/tJNvj4cYHJ1jQ== X-MS-TrafficTypeDiagnostic: MWHPR07MB3550: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 31:wZHXP8bN0ni6O6/3W91ha6xulLa5vGaQIevG4/QxYkFEqsDnAgeNDrNkGAllefQD3hLKZYQXDeOSovbyOZQBGJ/tvWmIt8WB+EfmLCw/5hivJhh690fto/SuKzzfhNPug4nZltx/kTd3FArylyzB+JshJqzmYGeC9MFX4TD98/cc1JlyLj6t2jFQARv2CAMppeLA2eMoU6UESs4UKGZlaCSuLG+lZNotInWFTl9JOrg=; 20:Ow0rt//iTOjtW1evLl5uXCxMPh6ser0OUl5hAMNWVPIfZMcgCragp4FTJ8txK+mbzj4JIbHvrli0XtKfbcQycPqgLir9V4zQs1ipAeIPSdgLGgMb9Pr0WJYLj2B8tFEEIize1dQrpdaSwbz8OxvptBuugQztA8rB2mlxdlDh4dfk5X+nz9IFWBZ5BIh05m9hQ491uH3Omav6y3Tf6768/4GWhaTM10SheUmSkZIFICDFuyOoAR67I8AK8ChRoukddIrzd87eXswK3YGTG6ipNv5eb80Am3xBRThjr19ePTE8848tZMWjewZyPEZVqGDh4iuEja4/dsrHBc/U9fYf0LTl169b3pPavu8SYbI9ch43VYaBmLtADC3suDMuxZnTGm+c57EBM6UUy8guG8/P6UelD0iHaNA1zoRXecwXBfKKb5NCkwBwk+t/8+++Rnu06Svq7MLuUSptIFxqf/ffXVVEpjOgbK1aVZae0ADZLzM8dnIvCsQC2c/EXsKrsuwF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(3231220)(944501161)(52105095)(10201501046)(3002001)(93006095)(93001095)(6041288)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:MWHPR07MB3550; BCL:0; PCL:0; RULEID:; SRVR:MWHPR07MB3550; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 4:vCfw4iXf4ag32H6iROpuZ1XLPuIVT47wL9tVctaZErKRSPb/9u4NLjh6aKhgz3o8lHLIPZt8BNdVCf8EkWv2RkNJ6ieXCLA2j9tlu4f8n4pR5ihufx0numQgcyrDQbdahE25CKdg6i84wL3qrXxyHLyO2undSAzT78ij40qHTjwyHVbQGyA7Lkx4MWjVtQnknOMRxanENWvb3gxMLWQDDnxItxMjlkbuM5lcvyYKUqlRDy9oun17ftVJAC4QjybNYXAdJYCrQUySjyxtCZs8uQ== X-Forefront-PRVS: 0597911EE1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR07MB3550; 23:wbrAIv+8F+6Si/lPGbfKZNBrrAbIKdAilngWMuISb?= =?us-ascii?Q?mLgfvoKQouioR7qs93gG9kAVaRHBeZbwiC6zpnhrtGMpYBIcab8noJMsuwIw?= =?us-ascii?Q?XAOabi1xjC0YHgnfiP65H9MgICag4VB3Ow6Oj9i8ck8vyhwrgP1FCTXUmOfR?= =?us-ascii?Q?g/zXsS3W4qvv0lILHkc9/wX0J3Qp0/VumHGS8/x9yswoDBSjK3WCasn5q+dA?= =?us-ascii?Q?y5LVu+/GuBMiHQCjVZVGD1iPJB6HOfYu/K1hq5z1/w8/SJjJ2hDp0flY+vZo?= =?us-ascii?Q?QokLgvMGYcJeozjLX6yhlEVmb76loQtmQIQp1aGaLk3CqAJbBtYN7wZ/vdCz?= =?us-ascii?Q?Oq4nBjmK8Bf1mEWZsTXAt2+OAOy9g3blSyjZDTXdsJvUFgeFz7yTa3KHELmJ?= =?us-ascii?Q?PEJulpZABJd/6xifyDh0Zh8kt+VBgr56p9j+HGTo67tvXd8v/EZgVkxyR1op?= =?us-ascii?Q?xP95KPPn1u11EF44ZtzMZV97+yodj1kQnVHdmBADUbuNiFqNBSXwbtkv+6/X?= =?us-ascii?Q?vNZQtUek41njyItq5d7ooLKeevcFNIyJO161Qm0UZn9UlRnLKPpGs0UqYd/3?= =?us-ascii?Q?nBqYJiMyADJKrxYlpRwSlkj+J9kDA6/OiUI2VCvmQhY0YdrWa9RxyOV6K4EG?= =?us-ascii?Q?9E4Krklwbz9KCHmXbGl9iDyQhMnfJFY6yRtscP3jrNMmmbGSx/OuJ4cXy7l2?= =?us-ascii?Q?Cbazqp+ADHKO1RuhTrRgCuxygxcNvsr9t9UMZFf7fz1x3rhGrXPJinOHtSOI?= =?us-ascii?Q?Khai94//3aAkJLcUH6tgFwg1+ZJDvFW+g/VMLyI9avZYv1NGsIuw5qpYrjPr?= =?us-ascii?Q?Ncq9IKidFvBdU4k/3LDbr2FJjtbyQlS6vHIb/gfaY+wbWHDT+h0ZYZfwjR3p?= =?us-ascii?Q?bZdMGm8FgKS9ldnjrE3548qhlevZV6cx6hwc+PmqnA/9YDhwNALbp/Kp1JCh?= =?us-ascii?Q?5zfctxlXk4T76GwzKjm+hyyK+wTvox+k3eleeqEv8esUg5dK6EvnHjNnQb5t?= =?us-ascii?Q?xu89cgWaUlG5EvQPSGvqi1rB/3a4RIlPOeT7jC5yYkT1YG4mv2CGJrSqDUV7?= =?us-ascii?Q?5dVEuQVyfCEJWxVWRdBcAYm6Md2?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3550; 6:2qDWw1sGovqmERQd/oPBtXJQLAODneznkwVSMoi2WVuIm2xhV2l+XvxO6a4YRBg9WK+Hb+mPv41IurYIZ5gAksZ09tFOyG90dPM8qf7AUGWOPR437QG9ilkZ5iS+8cT+qvqT5JUn4fFYQzsC9XHLOMOERXXN1rvzyXkUzvStIUWkH+RZ/I1Hrxz1IXeTSJ62RxM53snb+0h2HdnYlpM83RJtzYNA2cWRItBVXU4t6G8hSPhFSa+o50Pb8V1cQLyGT6yOwv5G3NALpW7RX+X9tBtPPRq5hEDU0x9o8Il5oD/2UYcavwZoJ4omDxtmr4tYXj7jHrkWHhQ4C8+5/da7/CkuDC6uZAvhr+4XmGG3OA4=; 5:9jR9Mx28dj+gAV1IxxSK3gMUyWSHKNWsx7XpDwkW+HSbSluNgK6+Fgv/d3KVXuQGTtst3Yjpi0wWpAIq3LNkOCXVqaRwQPmjfFbWzfTrwGqvdA8dvGaXrd0erAbX7qrXPkt5BB0qljJmKhNSdv5OqICx+NNxwHv0xBINMyS9HfI=; 24:KE+MAUGtOqegiuYzxoIab6mG0NPWfZJXeAnhk50Co6QJPL06GfkjRG8s+5sTHqqWJzzbA00QlbKx8n8Z2U/vEg5TC9+TkH4Ghv+X8WLZua8=; 7:anGY7NQO23LFPSoYkmHP0Gs4F+hmV81i5tarjIQUR+Pu8mNYYC+2h/NJOc9/vBMWtSVNKa2EmkhGv4G+c8HxSopfYxmRaacYIX7qW+qpHLr3OXVaIazU7ZeKg0GxLzGB2tRT8IcyIuNS6si/Fj3xsHwlp5LxAr3pt8sfqYLab6cx7TGVPJC0awDuzvPh61TQpassziY0MYy7jj5+hw3uRy1qfP4A/gKtFNdlGAT9tmOJWHoVkdg6+cSXxRxzFiHz SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2018 00:31:16.5921 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4ecfe5bb-22a8-4ce9-9a5a-08d57e4294a1 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: MWHPR07MB3550 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 commit a4239945b8ad ("scsi: qla2xxx: Add switch command to simplify fabric discovery") introduced regression when it did not consider FC-NVMe code path which broke NVMe LUN discovery. Fixes: a4239945b8ad ("scsi: qla2xxx: Add switch command to simplify fabric discovery") Signed-off-by: Darren Trapp Signed-off-by: Himanshu Madhani --- Hi Martin, This patch fixes FC-NVMe LUN discovery for the series sent out during merge window. Please apply this to 4.16/scsi-fixes at your earliest convenience. Thanks, Himanshu --- drivers/scsi/qla2xxx/qla_def.h | 1 + drivers/scsi/qla2xxx/qla_gs.c | 3 +++ drivers/scsi/qla2xxx/qla_init.c | 8 +++++++- drivers/scsi/qla2xxx/qla_os.c | 7 +++++-- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 3ca4b6a5eddd..c9689f97c307 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2217,6 +2217,7 @@ typedef struct { /* FCP-4 types */ #define FC4_TYPE_FCP_SCSI 0x08 +#define FC4_TYPE_NVME 0x28 #define FC4_TYPE_OTHER 0x0 #define FC4_TYPE_UNKNOWN 0xff diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index 3cb05c1bd7bf..e6bb78e6f1d4 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c @@ -3971,6 +3971,9 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp) spin_lock_irqsave(&vha->work_lock, flags); vha->scan.scan_flags &= ~SF_SCANNING; spin_unlock_irqrestore(&vha->work_lock, flags); + + if ((fc4type == FC4_TYPE_FCP_SCSI) && vha->flags.nvme_enabled) + qla24xx_async_gpnft(vha, FC4_TYPE_NVME); } static void qla2x00_async_gpnft_gnnft_sp_done(void *s, int res) diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 5618120128b5..c4b04e807e12 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -1061,6 +1061,7 @@ void qla24xx_handle_gpdb_event(scsi_qla_host_t *vha, struct event_arg *ea) fc_port_t *fcport = ea->fcport; struct port_database_24xx *pd; struct srb *sp = ea->sp; + uint8_t ls; pd = (struct port_database_24xx *)sp->u.iocb_cmd.u.mbx.in; @@ -1073,7 +1074,12 @@ void qla24xx_handle_gpdb_event(scsi_qla_host_t *vha, struct event_arg *ea) if (fcport->disc_state == DSC_DELETE_PEND) return; - switch (pd->current_login_state) { + if (fcport->fc4f_nvme) + ls = pd->current_login_state >> 4; + else + ls = pd->current_login_state & 0xf; + + switch (ls) { case PDS_PRLI_COMPLETE: __qla24xx_parse_gpdb(vha, fcport, pd); break; diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 585f37155f29..285911e81728 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -4807,9 +4807,12 @@ void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e) fcport->d_id = e->u.new_sess.id; fcport->flags |= FCF_FABRIC_DEVICE; fcport->fw_login_state = DSC_LS_PLOGI_PEND; - if (e->u.new_sess.fc4_type == FC4_TYPE_FCP_SCSI) + if (e->u.new_sess.fc4_type == FC4_TYPE_FCP_SCSI) { fcport->fc4_type = FC4_TYPE_FCP_SCSI; - + } else if (e->u.new_sess.fc4_type == FC4_TYPE_NVME) { + fcport->fc4_type = FC4_TYPE_OTHER; + fcport->fc4f_nvme = FC4_TYPE_NVME; + } memcpy(fcport->port_name, e->u.new_sess.port_name, WWN_SIZE); } else {