From patchwork Wed Aug 23 22:05:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9918571 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 68B26603FA for ; Wed, 23 Aug 2017 22:40:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5BABF288F8 for ; Wed, 23 Aug 2017 22:40:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5097428A9F; Wed, 23 Aug 2017 22:40:52 +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 A2B4C288F8 for ; Wed, 23 Aug 2017 22:40:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751076AbdHWWkv (ORCPT ); Wed, 23 Aug 2017 18:40:51 -0400 Received: from mail-by2nam03on0060.outbound.protection.outlook.com ([104.47.42.60]:43563 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751005AbdHWWku (ORCPT ); Wed, 23 Aug 2017 18:40:50 -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=ha99qe7wB8/hs8MfBQPLCFV3B2xwBSrPxsDAa17Q3SU=; b=CwFGLsZBTmYfRL077kBvkgZzWAU+46G0cPD5uwcXSqDCQdRd77CMRAJ1o3tNRnrmhJWv9nur9k0zE2s21JGy8j7O0J4cbWS6cSRdMhs73nE8M/vIZsEskrMyQewEOQSzeZ4mG8H+uYlqideiPQYxmiSr+/JcB+y2hjxAiZCz7UM= Received: from SN4PR0701CA0024.namprd07.prod.outlook.com (10.161.192.162) by BY2PR0701MB1942.namprd07.prod.outlook.com (10.163.155.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1362.18; Wed, 23 Aug 2017 22:40:49 +0000 Received: from BN1BFFO11FD022.protection.gbl (2a01:111:f400:7c10::1:101) by SN4PR0701CA0024.outlook.office365.com (2603:10b6:803:28::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1341.21 via Frontend Transport; Wed, 23 Aug 2017 22:40:48 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; oracle.com; dkim=none (message not signed) header.d=none; oracle.com; 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 BN1BFFO11FD022.mail.protection.outlook.com (10.58.144.85) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1341.15 via Frontend Transport; Wed, 23 Aug 2017 22:40:48 +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, 23 Aug 2017 15:40:46 -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 v7NM5Tdt003258; Wed, 23 Aug 2017 15:05:29 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v7NM5T8b003257; Wed, 23 Aug 2017 15:05:29 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 27/31] qla2xxx: Recheck session state after RSCN Date: Wed, 23 Aug 2017 15:05:21 -0700 Message-ID: <20170823220525.3115-28-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170823220525.3115-1-himanshu.madhani@cavium.com> References: <20170823220525.3115-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)(2980300002)(428002)(189002)(199003)(36756003)(6666003)(76176999)(1076002)(4326008)(33646002)(626005)(189998001)(50466002)(50986999)(2950100002)(356003)(69596002)(81156014)(81166006)(305945005)(47776003)(80596001)(8676002)(105586002)(50226002)(106466001)(54906002)(48376002)(8936002)(101416001)(478600001)(87636003)(5003940100001)(72206003)(2906002)(5660300001)(86362001)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB1942; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD022; 1:0Olwddw0FWUsjDi587GFF+4ZBWu3Gdw7RjJ9Q/rJDWdPJbZlNRWcomsXZwjOl1cjWwytsc6VqyZydA2WQfaI/UU/8oKcP/F/px5dxPciwZ+eRMBs6OM6VurSVoTodPKz X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d55a2709-ecbc-4dac-3385-08d4ea78002e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603190)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR0701MB1942; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1942; 3:j8FzXzySbQjJBmcUkkfbr7KDWC+TAe0icwIYngmnKhId7HHGDLbiqP6suWDy3aNOgcT+DcosPt5e+wNB0qHMmsfxyE9QkGC7WYIt1WhPogvGPbuJVHLNfEyQIIWB/nh+wHx/lnMyLB0rMGRgxYyL9nreeaQUyzygk8RKow0DbYHVyyJp4F31k1ZhVqbZC8xMuI3h85Z/D3MaL0h9n0pBOMaqmddUui5S/sJI7M0vbboN9EUKImLliV8wOQEWZIGwv10ImBov3GDGjIejXSWSzNKnHrYL5zd43zzHtLi/1HMBBuL5rrysl42WjYZLzc/La2NpURAWbx9AVf4Pews/Vg==; 25:YxQUywiquFuvOkddejgbQn1ykN8YwfU0WsA29112YUFnrHy/gFAkl10jQGNKpHomybqYXOVBO9o+XB51AIBMleC1t0wgfew5gEeONiiIwt9koA9cGTDnajQEOPyYl46k5JXbCyavpml9tVVxfwBGveMUD7ztuYrPm3jYMzjMrmEqRojmVkshhPzP5yYKaux4Kl7K/pvCi8q6sHrQ+vzgzESWaTDabCvEYjM9ksDx/+jmepB1jCSdoxC60k9aKe8xes1pXyqfOBAepeDmjzneiAoO/6EtDX/nHq+LFEH9Y7xK6NvX1TybuVcIj02sW8w8sg4u9sJUB+m+PJhOTRiKMA==; 31:HSumpkiKhO32sIPRJWA9s16KlRMMH46rUbsOthCAWmZSIcnnWnoPS1LejNkzZVhnoOfgYWF1hIzv/MSjm2Z4RFk86M+L0/9qkMoZJUlSl+nv3FsXJ7CMSRHU6poOqNR8HWF++EFwTnoZOjd5wxxR78pvqQHi4HL+WHjJB+34uRpprxjnksAHM6+3KMuRqrlntcyvfPQIfhrQqFn+9nCPGr07e0Cupy0zRlwCddfzsLI= X-MS-TrafficTypeDiagnostic: BY2PR0701MB1942: X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1942; 20:vM+s8NOQdI+hhvcL1moPF0a8vej8pifHhFvdCxKdqCxMlKzQAeR4e8mRGBmCG9bkDNJXcNtdRSGHtghE3ofKwUsKZ7Ck057Bya1R0Ntw702mv4jdhDRbuGMdJX2iuniP1p9KFM6neDPKWwVWK3PGlkhN27Jkg8QhrY4rVY3MssAJNdJXSOoyyvPwvfqW966sv4pU7nwj6u43PRBwYp+Up0JjRFiV2LowFFHe6D1pSEBBycwmXoU7NEDyI/1VqYs4t4NBGxzQSARVpFBQect2sVtC+qgC8QAa+BvOLxOHOokPGuDxK5myEMHUnD8g1MpOoR48TlrvLwbxe1tkD9pjKdbsTIsDScWkcN1t31wL+ZCEpbLqDgcEIOyXEZPUwHEVo+CBcniEbXBnZcd+xtp4LL4baARcRnIO6UXm+0V4qh0NurxQnbpb9san6RhZrIkDWjZUBvkD+Io/eEN7b16lUIEqnmWjFkUpOFzur5EBryeAuq7QnsH3FrQ9UWbdLXuU; 4:I4qob/w4RpimSfXiYW9x1xFrGyOwdojmdcecbdGsSpT2OYgkHwiIwa93VJGPDaY567HP4Owqi1UCT/IUE+fL0M/BDXfnuX/Jnnz1ZkcuSRa5OBA0Ab4BUb3TvKD1R73EqOBnB+cE2MedMR+pTJ+AzQ+Xip1GkqbVzHyrhtsnLyOzMQOX5sPhDz3ljQCH7xQt/zKInsL0DzH/d7laNQGBSUKyQFI6+tOB6AQZ4854mgUayjUg7ipSQUpMMJ9p5Y0S 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)(601004)(2401047)(8121501046)(5005006)(13016025)(13018025)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR0701MB1942; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR0701MB1942; X-Forefront-PRVS: 040866B734 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1942; 23:+LCvNYM3tq5936ttxqzU9NEP+V3guIcANETGmbwMMjmFaZt6sLAbFtDTmkt3Fwv3IKRJw/6XRQl/LqRJIjnfs5uGgTMPQztTxguV+CngbvbKLzn7wEjky6WBJ3on/CULDvKSZ2WSFSQGtgIoyu9vbICuihjksxCuGnbqAo/2lOsG7G5jAfvhHmQbMSC3jP/q1nr2fraqusnqL13uIhJkxJOmaiRCorwirzjWmgkyg5RKCqPEvePl4psbz7gdq2HZq9V6+qJBe80RjnL8sV2WhXO6lOB19v/Gr+zyv8BqzTZYsWDKGhci+qOjHKAJRzFAh4iBI/XmNQAVgU+A8iSPN0G2XyphOdAEBWk663KWAK7FRRAcIAdl1Kino2a7kEV94sj9bWeydwUjsVXnJWUSpdgUWWmO220UbDFNWO09HakBT6OX4cwMU+KFxV/S0Dfa3taW8yI7ky+GsRXNRvMjk9WkghygMO/ODtguIyy5GzwMf9QtwgUsmfpmc+3kPTGlCiEYNFoAZuMWi/LVh39EN3UJgSJgbdIzai5qtf3RM01n+0MFHSrN72Y09AIsm32bWKEvOn3gf+tlbOQ+g1lD93heCdWj7uFc562ct/vqHmm0bM9Y6+DnAhY/E/rB916oucrkJSCerkXBNtV63PfzE0UsNsZ1KMN00hIHplsKS8UHbePBdQSY95nF1iJMLa3jBISG2NOKpiFXyzIvuXHyncUI1gzQ+uoypJ5anMfDwhYP8bjeX+TxK7UUKpcYtNCNwHtVAZqxwB7ttPA97GI91UU3h9+HECf+FMbqee/W9prIRcfFXHYiE3b5Y/oY746susLhxZZGdisCBmmiR5P58ZceqA/FJoDS9KlgcqlQpXvXkL6DDbKdb5xbCgKppBsfd6JhYsznyNfuo79nqDaI5lIla7mOPEQSvvzTl6/ ob8JJmY8khnl0Zp6ozWz1iS3l X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB1942; 6:0UhJjLMu7m8dZ4Hwh2AsvTzCxGBteKI2JfarouJoHlHRSnXIqfV/CEGyfWDlZep70YCNPt3IQt3nJwFjqCAYjqqXLI54Oz2W4HLwXYRZ2mJU9+70Dq1QnQPl/I8uSgcT7MAcdOEMp6RfZUE7alMpQgi+shZbnH0U5fBDq1l2wzSeuWzYJ5mvPu2XMrCXfXciA2bubwHYcBOkjOsFCex3dBDa26tesDg3ljlzcsK+5m2C43XHwR59x7Et7htojvNLomM9owgkSW1A8DceknSA2rTCcat24hc7LE8//tnA092zKa+3r+0Z73gKK/gXJR+N87zdxoaxr3CObNbPGUxO3Q==; 5:yhuLhfo+O1n4rqtjw9s1sR/jVvoXO3Ra2ZKvmYYVSwIOrIBKpLytkdUtg9dtlWXahtevKMvPCw9BY7NE8ytG3CNcPX03KM3vmTd6PFg2hioCXF31rI6wKvmWGYEbBOvOdh+G0uhXi84HNkV3ipAs5Q==; 24:pwKhANqn51P0k3a9bRbLjo0d7lBpscEaYEAT1tez0D1bRD9T5wx+txr67BNNW0nE+uy1MI2RQ4Ik1hqDNXCo5WZzktV8wentvD/rfSrhj5g=; 7:/tExWAT+wdKy9pttyt8oIhugdzcAM5vlAepOOvhwia8YWVksD0F6t+sUncduDy0/9ZvSK1cy1/Pk4UoJFiAsT54B8yDy1J9z+UjdCQJg0DRNFJdFK40oHDJm4/UYHmgf4ACUgUJewcDN1lA5Lw0NNgvp/p6ljkI702lKaHEa+5MbzUmJn8f2GhWS4fspzClCJgMPQ2IR7VmgNSUzQ7gDpqQ7X6insdNgppQcCu45bUs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2017 22:40:48.2809 (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: BY2PR0701MB1942 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: Quinn Tran When RSCN is delivered for specific remote port, Use ADISC to verify the session is still valid or not. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_gbl.h | 2 +- drivers/scsi/qla2xxx/qla_gs.c | 16 +++++++++++----- drivers/scsi/qla2xxx/qla_init.c | 4 +--- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 3aada5dd597f..0b219b3ca653 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h @@ -106,7 +106,7 @@ int qla24xx_post_newsess_work(struct scsi_qla_host *, port_id_t *, u8 *, void *); int qla24xx_fcport_handle_login(struct scsi_qla_host *, fc_port_t *); int qla24xx_detect_sfp(scsi_qla_host_t *vha); - +int qla24xx_post_gpdb_work(struct scsi_qla_host *, fc_port_t *, u8); /* * Global Data in qla_os.c source file. */ diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index 0ec250993e93..bc3db6abc9a0 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c @@ -2816,13 +2816,19 @@ void qla24xx_handle_gidpn_event(scsi_qla_host_t *vha, struct event_arg *ea) case MODE_INITIATOR: case MODE_DUAL: default: + ql_dbg(ql_dbg_disc, vha, 0x201f, + "%s %d %8phC post %s\n", __func__, + __LINE__, fcport->port_name, + (atomic_read(&fcport->state) == + FCS_ONLINE) ? "gpdb" : "gnl"); + if (atomic_read(&fcport->state) == FCS_ONLINE) - break; - ql_dbg(ql_dbg_disc, vha, 0x201f, - "%s %d %8phC post gnl\n", - __func__, __LINE__, fcport->port_name); - qla24xx_post_gnl_work(vha, fcport); + qla24xx_post_gpdb_work(vha, + fcport, PDO_FORCE_ADISC); + else + qla24xx_post_gnl_work(vha, + fcport); break; } } else { /* fcport->d_id.b24 != ea->id.b24 */ diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index fe2d196833aa..30b3acacbfca 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -36,7 +36,6 @@ static int qla2x00_restart_isp(scsi_qla_host_t *); static struct qla_chip_state_84xx *qla84xx_get_chip(struct scsi_qla_host *); static int qla84xx_init_chip(scsi_qla_host_t *); static int qla25xx_init_queues(struct qla_hw_data *); -static int qla24xx_post_gpdb_work(struct scsi_qla_host *, fc_port_t *, u8); static int qla24xx_post_prli_work(struct scsi_qla_host*, fc_port_t *); static void qla24xx_handle_plogi_done_event(struct scsi_qla_host *, struct event_arg *); @@ -774,8 +773,7 @@ qla24xx_async_prli(struct scsi_qla_host *vha, fc_port_t *fcport) return rval; } -static int qla24xx_post_gpdb_work(struct scsi_qla_host *vha, fc_port_t *fcport, - u8 opt) +int qla24xx_post_gpdb_work(struct scsi_qla_host *vha, fc_port_t *fcport, u8 opt) { struct qla_work_evt *e;