From patchwork Fri Oct 13 16:34:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 10005293 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 E1C5860230 for ; Fri, 13 Oct 2017 16:34:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C710427F89 for ; Fri, 13 Oct 2017 16:34:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BC2ED28565; Fri, 13 Oct 2017 16:34:24 +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 39B7827F89 for ; Fri, 13 Oct 2017 16:34:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752123AbdJMQeW (ORCPT ); Fri, 13 Oct 2017 12:34:22 -0400 Received: from mail-co1nam03on0053.outbound.protection.outlook.com ([104.47.40.53]:22528 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751441AbdJMQeT (ORCPT ); Fri, 13 Oct 2017 12:34:19 -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=HXdm0ZvuSciz66TWokv+uvkO09M6ptRCYuluM30etrw=; b=EDk7kT8oREOWWjC3Nmkxq+HvRsIScFmPdofVHUPyolabx+OqUlVo+sx88EfUHh1KuuvHbHoNHYOjs40YNQq8HHPRhzBJ/KajRcOfiGjYH9Gq83MkjxUcvtgDL+OBMM6a+29QX8ss+4jQyIfMh4pq/mh5jzi8jb8GsaTOqBWYRZo= Received: from SN1PR0701CA0024.namprd07.prod.outlook.com (2a01:111:e400:5173::34) by CY4PR0701MB3810.namprd07.prod.outlook.com (2603:10b6:910:94::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Fri, 13 Oct 2017 16:34:17 +0000 Received: from BY2FFO11FD036.protection.gbl (2a01:111:f400:7c0c::117) by SN1PR0701CA0024.outlook.office365.com (2a01:111:e400:5173::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.77.7 via Frontend Transport; Fri, 13 Oct 2017 16:34:17 +0000 Authentication-Results: spf=none (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: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BY2FFO11FD036.mail.protection.outlook.com (10.1.14.221) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.77.10 via Frontend Transport; Fri, 13 Oct 2017 16:34:17 +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; Fri, 13 Oct 2017 09:34:08 -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 v9DGY8Fd008085; Fri, 13 Oct 2017 09:34:08 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v9DGY8J2008084; Fri, 13 Oct 2017 09:34:08 -0700 From: "Madhani, Madhani" To: , CC: , Subject: [PATCH v2 3/5] qla2xxx: Allow MBC_GET_PORT_DATABASE to query and save the port states Date: Fri, 13 Oct 2017 09:34:05 -0700 Message-ID: <20171013163407.8038-4-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20171013163407.8038-1-himanshu.madhani@cavium.com> References: <20171013163407.8038-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)(6009001)(376002)(346002)(2980300002)(428002)(199003)(189002)(69596002)(189998001)(6666003)(105586002)(33646002)(50986999)(76176999)(48376002)(106466001)(101416001)(5003940100001)(305945005)(478600001)(80596001)(2950100002)(87636003)(72206003)(8936002)(356003)(8676002)(81166006)(81156014)(50226002)(16586007)(1076002)(86362001)(2906002)(54906003)(316002)(47776003)(110136005)(42186006)(4326008)(50466002)(36756003)(575784001)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3810; 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; BY2FFO11FD036; 1:hVNqIMPYG55imAwzQ25Kwm+f4T/sDJlUzZ/OAu3PRAeKMuTXKGUMJ7u35wgC2x03ZQuqaYirlSzAF+OTYKtDCID1T9ltCfAPYYyRkmAPJ26jhCMMb65zxnywXDAT8lkM X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 08a75d5d-a731-4949-8d54-08d512583fa9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:CY4PR0701MB3810; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3810; 3:tTJ33VE6hx9xbrl+JemHj1edqZEjxZWUfz5FL3HDgTScg015UByNmPraCDp7ShDxJFG/oEwrBOp+8fi10f1kNPuYu5Iy8qypqr+f4s9ALY99Ao3YPS1Z3U7LCDiTfiFglqtbb5S6KgP+cciww0/tTYdkrj9BGB5AjO5rdIAzPBKTKa0nvBLZguSsQ8uE5FGfdoCK/Y8P150NTMeuPPX9gEOpHuPMVmeAMMqM/d2WlnL9gDZeMT2PHnujDQmlcaOEz0BsUaxCa0BbvUMBVnrRCO0S5FnRZq//ex5f+CEwxFqT+zCnLwuGuiiDQoxcnApCvfHiIgERKCBI4u8cm19wDfEM/XwW8WaffUS+agV/AFc=; 25:pgKxaHmWn6CT/aQbGwOdMAdnst8G5EW2if8G6NWHW14YdRVU5XSvA7dJqjiJVmydoLewSVpO2/yt7OHlJcRb8jy+Y94EUEAos+0MuHdX6WkV8wuAPjYbm2TAlZpqlxRDfbJddfsSn7GaZQ1upoxQPT4xZV21jMZBwndr3LIPeCC051mnlmctRtBlvkpnWVvX/U/PIWYSTRS/1nH0Vjchhh9I3SiwDDx1yz4YzTIPnGF5Q3oSIeeRmictVLXvxG2Re/ufsdBNcpiBIDYPswdVcFb6+AcDzvgFEQW1vuGsjFGzF7JYwDutJZ96XV7RlAIubqql3swIvC9yKOfG6A4KVQ== X-MS-TrafficTypeDiagnostic: CY4PR0701MB3810: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3810; 31:xR6WZtoIWgwNBZrzvNz0USgy+KqrQEYGdy2564+Z+QOETjbA2q9uT6BWsR39BnkyEt7IWgWAtQOWXK7fwqRXAIqglqH3B0/HZJlj3ZiCWhoaUqtPpdRFRxfFJQ8KZEVZzNIibngMe+aBADx8pz5As1KLv75uBSK9QvLfOJnyMmFbJE+Ul1JnDACrWrBUTGyi9t2AzpqiDVNtJlCRg0n/Wea4191U4kK8AzzDRiFIczs=; 20:2GSrtG/4wwft8veZv4VD9oyawIcXx5L7hDNCqYHFpkZXZpM46VCJYsRYKjkPUD1h5gzIw57et1hck3altSkgztQJb+EVOW6Bk8ao7dUcSj5n2aj2UvfMjFt5dRajCBRbzg0wXqCkDIrmxafIUa4HKEHDtr5ZWIa3Y0p51MRjoC3qxTMURCIcG9PhfkEs0BeVj+QvkHpI9c0X0Lc4p/w4jUfrFKXQIoo0a5nsbHnsDxEeEWv+ULC/Z2adCF+kSIqZyh23IwDAyO2e3vK3hyzeOq70ga7MAlOH9yjNwFzYWy1Ffkj0dIzdxfuCWlAteJ4xLjHzZdFK1OMmNbX76mVD6jR4pu9qLkv+p4ZIRClM9SqxOpDCwjfnJm7CqFLiJWAoyhpDP3j+1V8PN0Lk0ZcFZTiGMm7XJ/98T060l3QqlguzEOvt8zBS9QW4nMnOJEnnazrqX0cZiKSjfrtbJn9WgdRCOjl1EbFM1taq1mI0astZ6ne0bU2ixH/RO35Duo9z X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR0701MB3810; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR0701MB3810; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3810; 4:Bo7jLuTJzNH5DwkHT3/v9qdjEamAo1vN39zum6hpz/wOpe453Cj+yn6/aMC1vStMRj/BrZG7WXxArWjalGZgK+8kuGpTSK23hIx9s0mOoAMENKa7rwTouzTpJs3W8ZLo+h0ByaE8p59xX41EZBPfICirUq0O8KzOoCp7CDzUin5lPQLslGZmBVfZrZ4G+fP/x5QSI1NAFrTUYAXz/cSAUTW5EvNS6Wxbg5p/dLNH6sm4Ku2WBXUpY1Xf/tddZ0L4 X-Forefront-PRVS: 04599F3534 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR0701MB3810; 23:8HHU8rDqvgER2x/J6jzN9EejqNoXPp8FEAlQ4Di?= =?us-ascii?Q?Y5jeg6+fOq+njSzeYcZ1ThXjlG878ymr1e7rgGu/XJwRDKVqoKcUsa0QU1S0?= =?us-ascii?Q?SdQABcaUe3QibGXGcDaraK0d9PsW/PBdNo3DnIqW8pVjLbJvKtLcbIEEiIju?= =?us-ascii?Q?qmiK9qk9KpKiXrq6nJoAVik9+hWlMnmmmQsfUDCfD5lbf47VGrh4+sPyKJxb?= =?us-ascii?Q?oKLI7DlMnLtY1/Lx++tEkIOShsIKKDfpbKuETpMQAUZfHoIxuZWce7QcCSJ9?= =?us-ascii?Q?L9KkaIGV4j/P78EHhX/cV0DFAwozp1YDohw4oqDd5F9ViCewoyigKPmyYJZp?= =?us-ascii?Q?vIEuk0Bf2nPkm67zbjJKdwCC2OjBZwkSRaK8wb1zVdHndKEjIzAbSOWHJeo9?= =?us-ascii?Q?WiMajk2lISjOXbmtEN+iaDDnqjatLLnCC8B1kvGfyYOyflvVgyfa94QMdcmF?= =?us-ascii?Q?mXO/TY7zynGdp7fNSt90df2RPzBbU4P5GZHgRV0LIoy27p+VrSzXEwaP8+ni?= =?us-ascii?Q?C8/dbSxw8zntuAdXmmVH6liXVVBP6/5t5V3q3WumuNCMCTRjkIjYx3dKMIQp?= =?us-ascii?Q?d7D4Lh1PVLDlfq4Zsn+gwjlArrHi5Yj9oTwpkMf9GKSx8QT98LzcM3Rfw6xo?= =?us-ascii?Q?ukqL2gP+irIk5IAgdPIcYfrMs6CJiAWDlAmRNBNPII0jnePdjQrBbMA08Slv?= =?us-ascii?Q?3tv8pPvx+Z/vSraHOO8qeeDnRba/7JV/ERbEkzOT2LI4FCWbJuvIL9wbmExJ?= =?us-ascii?Q?YnG2XbFSO0LeLUpSpM4SH8ENMzYLf9v1sZt6zvR0dG1T6zGsp37blqkpHGtQ?= =?us-ascii?Q?WIa+HJ+OJAA0FM8mo7ZOvKqlGRZhjrehbu0ImYD5xH6Bp2VxgtGOdzGzC4WL?= =?us-ascii?Q?gB5IwtShXgHwwjCUrhYsqibV7fhmq3yRI2Sviar2U+CGJ9ZEkUtncLp9YFFd?= =?us-ascii?Q?5AruNmXtRX4oIgolMMGNdqJR8GWrhQp5h2k51F2np3xB9yWZs/kDkuxW8Fx8?= =?us-ascii?Q?674LAq3d1HDPyEnHlT2O1oNjtuVKMTLebJN0AfZ1O3y72bJs8w+nvO/AuYok?= =?us-ascii?Q?OMvcQahs=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3810; 6:OzLU0za+NpFt5j9oy8CswyAXjQhHhP95Leo3AIHGV33idTuX47cX2JOvBFZ7yfpMB2vEhjXpZzYP6KEoucUVQgTUb6yHKa2o01v99LOPJbo4XSeAFk+U6Z41o/v1njtvyU1CgTTsuVMF70THRRaGY9yzLCuaa5mh4yUhYuAmWaL/u+IOtw+QhLnMO4l9IyfcaIcYSsdLvcaqBIfLpDdWHISPSDpGT2Z+mYxWI//mQKZ0vW5Jtmcb0R/28bN10CvePSvQJ9KGMppm4iuyTaadaM5BxK1lJVmo8rwEstscFfgnia63rTAGpC4JBegOraqnz2Arltxs+tlB3jqMjm0ULw==; 5:W8Ni37TYHJdJ6hu95hGHq5C4njXxTC2baLcTX7g1MPcyPhb0MG76UYqZEJjymetdmv/r0FjUgqMVupS2p/DBqxCShv2UPIykkhlb/pqxxqFrWt8NPznC2cit0PmdCIzoBVihdP4YdGMc8hi3/OSQWDynJQSTAw+cMBC32RArUkY=; 24:D8j1x/N9VhjkZEBHY4ZqdeiSOHpdmXU/gOWoEjyy3akQu7VAW43T7Q855ArrY5kEioP30Qklk16tn11oevEXM2XIdTml30Rx/rL9lwGCECc=; 7:2b0pYpebvaeNgWFfxOSHA3U5GBOsU5Qsct4cNdLbEo4EinV4ItKuKbywdMhO+f5yKAmdhnNYBlgzXCoTUcG+3y9Y14h0N7YFM0AiLv0yrWSwfHEmojMrTB+19PR/SFhLW2uBIIRyUzRBpYnZJG5igA59Xz+uBiWpxuFjiQXlrNjfom6gIfEaQu4IwHWYQ1XCN47F9tKEd58rrvBYv/1slRQHW1TBbfSCAiB99m+fhNY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2017 16:34:17.5107 (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: CY4PR0701MB3810 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: Duane Grigsby The MBC_GET_PORT_DATABASE command normally checks the port state informationi. This patch allows it to save that info in the fcport structure and ignore the check if the query flag is set. Signed-off-by: Duane Grigsby Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_def.h | 4 ++++ drivers/scsi/qla2xxx/qla_mbx.c | 29 ++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 66d239cbbd66..f712c0cd46d6 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2303,6 +2303,7 @@ typedef struct fc_port { unsigned int send_els_logo:1; unsigned int login_pause:1; unsigned int login_succ:1; + unsigned int query:1; struct work_struct nvme_del_work; struct completion nvme_del_done; @@ -2369,6 +2370,8 @@ typedef struct fc_port { struct list_head gnl_entry; struct work_struct del_work; u8 iocb[IOCB_SIZE]; + u8 current_login_state; + u8 last_login_state; } fc_port_t; #define QLA_FCPORT_SCAN 1 @@ -4114,6 +4117,7 @@ typedef struct scsi_qla_host { #define QPAIR_ONLINE_CHECK_NEEDED 27 #define SET_ZIO_THRESHOLD_NEEDED 28 #define DETECT_SFP_CHANGE 29 +#define N2N_LOGIN_NEEDED 30 unsigned long pci_flags; #define PFLG_DISCONNECTED 0 /* PCI device removed */ diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 7f71fd378c27..71e56877e1eb 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -1822,17 +1822,32 @@ qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt) if (IS_FWI2_CAPABLE(ha)) { uint64_t zero = 0; + u8 current_login_state, last_login_state; + pd24 = (struct port_database_24xx *) pd; /* Check for logged in state. */ - if (pd24->current_login_state != PDS_PRLI_COMPLETE && - pd24->last_login_state != PDS_PRLI_COMPLETE) { - ql_dbg(ql_dbg_mbx, vha, 0x1051, - "Unable to verify login-state (%x/%x) for " - "loop_id %x.\n", pd24->current_login_state, - pd24->last_login_state, fcport->loop_id); + if (fcport->fc4f_nvme) { + current_login_state = pd24->current_login_state >> 4; + last_login_state = pd24->last_login_state >> 4; + } else { + current_login_state = pd24->current_login_state & 0xf; + last_login_state = pd24->last_login_state & 0xf; + } + fcport->current_login_state = pd24->current_login_state; + fcport->last_login_state = pd24->last_login_state; + + /* Check for logged in state. */ + if (current_login_state != PDS_PRLI_COMPLETE && + last_login_state != PDS_PRLI_COMPLETE) { + ql_dbg(ql_dbg_mbx, vha, 0x119a, + "Unable to verify login-state (%x/%x) for loop_id %x.\n", + current_login_state, last_login_state, + fcport->loop_id); rval = QLA_FUNCTION_FAILED; - goto gpd_error_out; + + if (!fcport->query) + goto gpd_error_out; } if (fcport->loop_id == FC_NO_LOOP_ID ||