From patchwork Fri Feb 24 21:37:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9591217 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 A3A5660471 for ; Fri, 24 Feb 2017 21:37:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 923A02894F for ; Fri, 24 Feb 2017 21:37:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 86F642895A; Fri, 24 Feb 2017 21:37:58 +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=unavailable 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 ED15F2895B for ; Fri, 24 Feb 2017 21:37:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751314AbdBXVh5 (ORCPT ); Fri, 24 Feb 2017 16:37:57 -0500 Received: from mail-by2nam03on0046.outbound.protection.outlook.com ([104.47.42.46]:43535 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751219AbdBXVhx (ORCPT ); Fri, 24 Feb 2017 16:37:53 -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=AKWep7uTL3is1ZZpNyqC2RgUkY14Xmi7Q+nSsCOjirw=; b=V4RdAv5S6r8PKL9ie2lrHDHCeqyExWtsuoDq7GIq3gZQ00qhGPdY9cfRMp1j5r6PDdRg7RfZMn/IWM5aJ1O4jmQ5vPrERifSE85eGupS8c8CFaESVwduxPpeWnfFCHuP1HOfoT7KGCxcoTGIs8pyEEewrjppjqyg/SCSZB4t0mI= Received: from BY2PR07CA0016.namprd07.prod.outlook.com (10.166.107.11) by SN2PR07MB2638.namprd07.prod.outlook.com (10.167.15.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.933.12; Fri, 24 Feb 2017 21:37:51 +0000 Received: from BY2FFO11OLC016.protection.gbl (2a01:111:f400:7c0c::184) by BY2PR07CA0016.outlook.office365.com (2a01:111:e400:7bff::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via Frontend Transport; Fri, 24 Feb 2017 21:37:51 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; linux-iscsi.org; dkim=none (message not signed) header.d=none; linux-iscsi.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 BY2FFO11OLC016.mail.protection.outlook.com (10.1.15.61) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.919.10 via Frontend Transport; Fri, 24 Feb 2017 21:37:50 +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.309.2; Fri, 24 Feb 2017 13:37:44 -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 v1OLbiE9003832; Fri, 24 Feb 2017 13:37:44 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v1OLbiq6003831; Fri, 24 Feb 2017 13:37:44 -0800 From: Himanshu Madhani To: , , CC: , , Subject: [PATCH v3 02/14] qla2xxx: Allow relogin to proceed if remote login did not finish Date: Fri, 24 Feb 2017 13:37:31 -0800 Message-ID: <1487972263-3795-3-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1487972263-3795-1-git-send-email-himanshu.madhani@cavium.com> References: <1487972263-3795-1-git-send-email-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)(979002)(6009001)(7916002)(39450400003)(2980300002)(428002)(199003)(189002)(5003940100001)(8936002)(356003)(50226002)(50466002)(48376002)(81156014)(8676002)(33646002)(626004)(305945005)(81166006)(2906002)(47776003)(4326007)(8656002)(189998001)(107886003)(42186005)(105586002)(54906002)(4720700003)(101416001)(1691005)(36756003)(86362001)(80596001)(6666003)(92566002)(2950100002)(2201001)(50986999)(38730400002)(575784001)(69596002)(5660300001)(76176999)(106466001)(87636001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR07MB2638; 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; BY2FFO11OLC016; 1:w9DIdsyE0qwgS+mFDF0vO7E4q4Uj3mmynIBooRHQWxHZKTswsMKbR7ZGFc2h25fihxdbJ1V5pTkkWn3a+ST6ASVvep36GXWjyy0h41JWNLa+prZ97+ORNNuREM7+y0iwbZCrP7SVeWHEZM/PU3CiU0AoGKwnI9B6edZ2XxlBQqBpY6zRLJUWPtteSRJqXvBQZM0ueXLsm0wLl2BidIPjuCimmfH2Vyl60fRGJ33e5TJrCs/FumF+XKNDprBpRjEtEPnxSAXai5Lv/wHiSMJu6DM3DIdlyLK8LolmAwSrhrZyCb90/9q4ypdpkLAw4Xma/wDf9sDwYRYwLUiLjPOXh0QE949VmCoxR+fK7HJqUW01tiKIHzl18wfM4zopgb4owapGWR3FTy2lF61w6V7+X1QDVg9d7j1JVukiXu966jUbuMq/AiCMNt4SG5WLjJU0us+5hUTj3GzGJKostSznZ/DpFldeA9wBMnpZajlpIIjpW67kdHohmVdH+QwzGiL2CDSWdHQUf6Z1RBbOk16ZVYkkDymKyFXzCN3gEBPELcM= X-MS-Office365-Filtering-Correlation-Id: 99f46cf0-0381-4b24-ca33-08d45cfd621b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN2PR07MB2638; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2638; 3:Fxj3pg677bg4b6Q7ZpmMIlW8ubazOVzz8jqHFsfwQ0gWxPuafNsRkodIT1z1mnD4X9eoCGeDUyZROJ+P1e2TCjUO02A3Ahh81qC7Uwtxv3dTn/smxSMUOvU6up6mCuLrSvkCEMAAwEneSnWnXWZOhNWzeUsWGB+YWbf32c8noRcSx0m35feg71r2CJu78SdURCq1i55MVC02VvL/sPBr1i0OUoTufmTPurFO64/HUhJUguRiVEFCzB2mTaRvoULbl7He1IOm18LaQbUW4g8la98fUK4nY/75flDwO0na5CoZXqqstcuJ801yab3vvmKBO50peokf9hoZeaLjSMlzccIzsdNqWDkT4+VU4cGqspxfcFnhbsIOv2iGTYLKpc8Z; 25:n/tey2ZjjLJoxNxOojF9Tx2aVyRqxH/Ww2X6ZmSfI/nEQSB7hg2D0aEHskUF/QwiVMkn/gZvRcl/8XWJ99NKrVMVGl74CTX11/UyESh4wFkdcO4fUn6jST8AniSNG80BjH7qSnSt8XOnZjuC3xQyPBEKr1kx1fzA+BsIEezTW82UjYVZQ1iEJGUuaWhPxSZcn1/Njp16dOkYuyuQ43P5AJ1VHhuGR2JAyrzZ/OMhlPtzcKp0BjDnq6V//R6r5H7Xe9Xo4bUP9gauR/auZ8XIk6lrGVAA0hdhDdZxosCHy3uSI8PnSH6k1POAS7FP146TwJkCzWi7wsTfBNCsgKm4Na9SdWpd84zYMu+6P23OVko2geYEz7NzcKUpA6dyWuS8N4gZq8nMKuYJ2dp3iacuHVnwY7Xy59h7C/ee71OaZTDqbb/95PK3YsnNlZqBIIcEvY4hxeJCfpvmxU0RK8LoeA== X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2638; 31:/ZVIEKK7l9XqsCXYlI/IPdZk72z2kPGfqoTlFisTr19FkJ5p1yaCRgRROUsQNabdsew6QYKboYpgEFnyMq1AgWC6B1gDf9Ugpe4I080qn10ibnRINM3rJpBirDiNtUaSDZnJHBAn67KKjRjSkACOHc54AxJsoDb5qdwPOR3WCalrOhcTGYKa560EANWRDruoY3RM/+dcIBeNi2hg6sryld6I7lSLS/cbBoTYCWM6LOyQbvobas2R77ZiFKqGVwTF8rHiFgbNdAn38imWYykI4mVyA+DnECE7qcpTWqU9Syk=; 20:trEr59bhyW9C6klmj7KmZDzcksyYeKGYjYTg2PM4+5JI/y4KXEga13I8LuvoZIl6Vsr0TfIlU9ufUZIDOajjFm5+ZL7wQTabsnXmXQqhDvwcIi2Qq/EmOqlp2Ww5x0R6MoHFORMu7LP6M0OYHEJJXDhzYHDvZFwts4MQtUzN6ptB6jU+OLXOCyN8EfzUIC8CpQyR8HqO4ACr+N5jtJo0Rs2YRY0AY1s+PeEXYnqxPqHVwEZvXVZqrjeA7tad5I1Hl1zn8WsSjvUEgskAv6p6eRrZdfR3Gn1v8eAHfhFozX6/x7uHoMND3RDGLzSl2/Xen37b5lyvwCEb5QAfI89m9HxTU3ZxyldRyLOEhOLcxlfzC/U1ct381C0vTjODiFVbU05cSTpL3SebLN3wlr/srBtvYM0IrAqxNDTU3N6R6VXqUKqblS5Vh1+dM6FoAwotshsrrfaD9ux0UqDtNhwdES3PkzGkIlpMpjNojNMlA6qAJHRo2n1IBK5JQHm8RpMc X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13017025)(13023025)(13024025)(13018025)(13015025)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123558025)(20161123555025)(6072148); SRVR:SN2PR07MB2638; BCL:0; PCL:0; RULEID:; SRVR:SN2PR07MB2638; X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2638; 4:sbNXBkuRLXAWUmiyplu56hCxU6XzxjFWfo9fft2XvcGGoZCa6NG6/CdJGcjN9k4rEdbnnLJi/MwBy227PpF0A3ot6KP1AD3rEFxMWE8khEaRxdyz3kw51NZLDM5DlQ5fE0QndIOIprdNe5UtujWRLq6U5j979Mb79XBlMQebmOW1/bjzsnfrz0BfGUPJSDJczfV5FXI4QRktDGglF6jfiWub5NPS1fVElvKiowFpC3bytei4gXbDie5rjWhxfFOAmbQXB2DIlk7JTa37GGizjYHYZIH1NDh2aM7bHRaifaCGKH1HTcnIdvE1SqRSctFl+j3qkQjr/CkwZxz1UzvlSLS9W8MNio81BbFwf7rqgEx+cG7kAr8JHnEH8PHMy9GL3u8NoiAJvKaBkH6JflKH5SC0Bq+Pe+jNaQqMucpX/XU8ny/061ROcHZKGvntmj6MtUOQlRHzRDiVmydjnD83DPgso9A3atgRoCdkKMNTDnxCuSjUW8GBxoueil9dshcQmbe3FQf9kn8C0USa2q+dhXGWYXrVJuVulbnZcaqBOZPc62Bk3qCiLV84jSljraEo3c5WdD4VBsoqMxo9QMXSauKiKuK27S6/cShuvA+QaWaYwV0+6pnhqP048e0CmNv4f221xZm5a+zYodDVMhfgbdeJvHm4thsOLU32IQlZscnT5WE59WExP9MiYmpwDqoWQYQqLs78BYF6mEkxzSsmvg== X-Forefront-PRVS: 0228DDDDD7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR07MB2638; 23:O6wxkCQvh/ICf0TNSPIbnzQ5CF32sWM6U4aUmjcp0?= =?us-ascii?Q?2eyoXx0ICVZLr7iLc1puHZQXBOxpo+Ic8BF7+M5tQD11baLf3jjbfjIPj1rp?= =?us-ascii?Q?0925w8Crl577PLogNmLYqnlvyRkKsCvc5fxftEzHQaxbzeV7wWesQsHPHUap?= =?us-ascii?Q?kIl/RFXjTbIEAgELm0ahWiGl6SqvvHtfUIh/vrp6xX5CYEXjISrYBjJ7dgEG?= =?us-ascii?Q?Ohm4aXHf1iub+FtA1AhMKSNuKjYbLmoEvOuZa5zOwj52vtrd6Z9r7qgU/TUy?= =?us-ascii?Q?8Ff8ED6Z+6IVXxiaZrVmME8ql6AXykIjy/wNm6apIyIXYUwnkktEV9M+u8TJ?= =?us-ascii?Q?RRnQH+OeIoZv9f37UF6UbOUZphALPB9AjvwYwZ0uKKJlCTsUr1ur4gHBXgdV?= =?us-ascii?Q?7BcJszaeHsixQFl3Fs/ZJfUszPb4PjWr9jv/Dm0J+ljqUQqm8+Wg1yi0gaD1?= =?us-ascii?Q?JaBJW+U19qk0UGjksvzpYBgD3ng5QLJGk3yTc9ND/MtlxfntCJaJICVCDK+P?= =?us-ascii?Q?QWTwd9wr+hgfFIV5txb7WJtxJN8mwMXwxDY/FYdhgOct3qY9fs+d0O9asPsT?= =?us-ascii?Q?iNsFdHfatOGlTBwV0iEKef4eYDnAEnXUVDMZM0+KDKylCAOvJ7Az1wqZAK2z?= =?us-ascii?Q?biFt9mdxGtAUx/GJNZ4o7eFzYICxf+jHd5RffWR2HJHN+O0nd25++eRQyLvs?= =?us-ascii?Q?Z1YQ7zLEdDoHNnNvOFfoMGj8Y7Xyt3UDXHNf01YsIIH9SdjpOPBAtkJEBJ9E?= =?us-ascii?Q?K1IiBPZL8GS0j5VpI6Uw49CV1nUdUHjoF5akVinYv3URxydBG79uXiDWtj1z?= =?us-ascii?Q?cRLGgZvEyH4fh1L1al+614jsZNijAFmjYd6l7pBZRW5EGg2djhNmYn3ofbd1?= =?us-ascii?Q?Sy1jntXwcxzgNxdnx7PpNBKoMLi6+ljVhKzx037bFC5L1Ogcuz6gYobrrLEa?= =?us-ascii?Q?2Rm2DUaovWnSUQuY0+jpOtOQK7QINjV43eRRSfzUmKdzrIuxKPYvdJ+AfFOI?= =?us-ascii?Q?F8R+wdE1iRF1dC5BRGgxztNQCfvHKtTwEo1QUvw9NbgIAc+XOEEN6VIlTO78?= =?us-ascii?Q?bn3n237tO90YozuUgKivQk5uM3frZHQ30Jk2ULM6JPHszjr4ndPwbGbsuN8/?= =?us-ascii?Q?QbUrLUY30BqZmJLp4cTkJHzzok7s6LvEVjuMeqOmMKJXSt/7SlFPKFu171K2?= =?us-ascii?Q?ukSzL28vlc405g1bMUhDUxgtVEMSKRPmIsM?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2638; 6:HTIZOitOgfvciOuPBDJ6bb1CBfcnW7ZuGRjweugtbBiBFPp5k5UDElyIcIwKP5xDDYx9HObVKdHWxJO1cUMM18NtunuBDD4oP5HugGcge9dRVAMX5hj8C8NmCQE6qdWwe9hdifj5YYvzU6P6BkNLgeFx5ze3s0yDk5uGKQ1FvYA7bAfMWqJ764RFzcX/hQEfjbkLNmUxGD/vQyjIjTQ77EucbfN48hEMjlRAzG0rXM0PHKLizE9fEFYha+G3rjsUZvA9UuCBN/TPDs/Hw4jXNN63RdcRb8O4uHmZqx1QlyRYpUloUdgb+UyLbE54QYhb3TrEpL81rUTrRFkY4P/DnM59Ws/MtXKeLtN52MgdyODLsqIFLfgwhzCWGbAMoIbM5W3jjbY+DcL6wb8of2LDeA==; 5:jFl6o5SuycNFn96Q79rBDkBStVvJrtq2bBv2l4Z9Rfm6OTmjHxZsdpNOTnMTwXLNnoYVcP++yHEhFbf7UmQh4io3F/ht3onYW97vFe/TN7XQHYR2qJokqJQsFKycbIWvI2AS1urguBQa0kdEu3D2BCDvgXBt3uzUIGXlLNaftE4=; 24:JcIYqFmi3V6uAy+yGZfNM/U8F5pXna19Q3mnOl3TWAXIabQXj1cvL3pgzvgHygTxAkhgXCb8LLTj5wJFueIovjnYSNpFIrerVEN0NPcDOgU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR07MB2638; 7:VesrEgUBUGLAmVQsSdWWm0z+yjdNE3MosBv4HryYGQnnK8ryvkGlyMchKOoQwcr2N8F5lsOIT/CZe/XIydgnqybgBbj0y3IYiO+g2vmVXJ3JHI6ZmsbsjW9bU/MqXclEaKcpZZnFe4S+4/dwr6nGTyeqZmZx7B0GWUCZqe6JUoc/Ww0cG8AlBBsWjWZHCdKdDmOPdXUspPLk8V+q2JRn2E0WUKMrgS+eRO+LFKOFe8zCGwsH1wTqIkNHD5gtGi2ot8/6DVllLes+xGoG1ys3WX+/ABBC+JcL64sS8KCpJwEg6vN7Im2J9yabHtN1tbdrnMnMuFnQBRxYdGcMerae0g== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2017 21:37:50.6212 (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: SN2PR07MB2638 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 If the remote port have started the login process, then the PLOGI and PRLI should be back to back. Driver will allow the remote port to complete the process. For the case where the remote port decide to back off from sending PRLI, this local port sets an expiration timer for the PRLI. Once the expiration time passes, the relogin retry logic is allowed to go through and perform login with the remote port. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_def.h | 2 ++ drivers/scsi/qla2xxx/qla_init.c | 12 ++++++++++-- drivers/scsi/qla2xxx/qla_isr.c | 25 +++++++++++++++++++------ drivers/scsi/qla2xxx/qla_target.c | 1 + 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index c264ced..fea4b79 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2300,6 +2300,8 @@ enum rscn_addr_format { struct ct_sns_desc ct_desc; enum discovery_state disc_state; enum login_state fw_login_state; + unsigned long plogi_nack_done_deadline; + u32 login_gen, last_login_gen; u32 rscn_gen, last_rscn_gen; u32 chip_reset; diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 6b0ec11..08f8536 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -876,10 +876,14 @@ int qla24xx_fcport_handle_login(struct scsi_qla_host *vha, fc_port_t *fcport) fcport->login_retry--; if ((fcport->fw_login_state == DSC_LS_PLOGI_PEND) || - (fcport->fw_login_state == DSC_LS_PLOGI_COMP) || (fcport->fw_login_state == DSC_LS_PRLI_PEND)) return 0; + if (fcport->fw_login_state == DSC_LS_PLOGI_COMP) { + if (time_before_eq(jiffies, fcport->plogi_nack_done_deadline)) + return 0; + } + /* for pure Target Mode. Login will not be initiated */ if (vha->host->active_mode == MODE_TARGET) return 0; @@ -1041,10 +1045,14 @@ void qla24xx_handle_relogin_event(scsi_qla_host_t *vha, fcport->flags); if ((fcport->fw_login_state == DSC_LS_PLOGI_PEND) || - (fcport->fw_login_state == DSC_LS_PLOGI_COMP) || (fcport->fw_login_state == DSC_LS_PRLI_PEND)) return; + if (fcport->fw_login_state == DSC_LS_PLOGI_COMP) { + if (time_before_eq(jiffies, fcport->plogi_nack_done_deadline)) + return; + } + if (fcport->flags & FCF_ASYNC_SENT) { fcport->login_retry++; set_bit(RELOGIN_NEEDED, &vha->dpc_flags); diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index a5faf37..dd4d76c 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -1632,9 +1632,9 @@ static void qla2x00_error_entry(scsi_qla_host_t *, struct rsp_que *, QLA_LOGIO_LOGIN_RETRIED : 0; if (logio->entry_status) { ql_log(ql_log_warn, fcport->vha, 0x5034, - "Async-%s error entry - hdl=%x" + "Async-%s error entry - %8phC hdl=%x" "portid=%02x%02x%02x entry-status=%x.\n", - type, sp->handle, fcport->d_id.b.domain, + type, fcport->port_name, sp->handle, fcport->d_id.b.domain, fcport->d_id.b.area, fcport->d_id.b.al_pa, logio->entry_status); ql_dump_buffer(ql_dbg_async + ql_dbg_buffer, vha, 0x504d, @@ -1645,8 +1645,9 @@ static void qla2x00_error_entry(scsi_qla_host_t *, struct rsp_que *, if (le16_to_cpu(logio->comp_status) == CS_COMPLETE) { ql_dbg(ql_dbg_async, fcport->vha, 0x5036, - "Async-%s complete - hdl=%x portid=%02x%02x%02x " - "iop0=%x.\n", type, sp->handle, fcport->d_id.b.domain, + "Async-%s complete - %8phC hdl=%x portid=%02x%02x%02x " + "iop0=%x.\n", type, fcport->port_name, sp->handle, + fcport->d_id.b.domain, fcport->d_id.b.area, fcport->d_id.b.al_pa, le32_to_cpu(logio->io_parameter[0])); @@ -1686,6 +1687,17 @@ static void qla2x00_error_entry(scsi_qla_host_t *, struct rsp_que *, case LSC_SCODE_NPORT_USED: data[0] = MBS_LOOP_ID_USED; break; + case LSC_SCODE_CMD_FAILED: + if (iop[1] == 0x0606) { + /* + * PLOGI/PRLI Completed. We must have Recv PLOGI/PRLI, + * Target side acked. + */ + data[0] = MBS_COMMAND_COMPLETE; + goto logio_done; + } + data[0] = MBS_COMMAND_ERROR; + break; case LSC_SCODE_NOXCB: vha->hw->exch_starvation++; if (vha->hw->exch_starvation > 5) { @@ -1707,8 +1719,9 @@ static void qla2x00_error_entry(scsi_qla_host_t *, struct rsp_que *, } ql_dbg(ql_dbg_async, fcport->vha, 0x5037, - "Async-%s failed - hdl=%x portid=%02x%02x%02x comp=%x " - "iop0=%x iop1=%x.\n", type, sp->handle, fcport->d_id.b.domain, + "Async-%s failed - %8phC hdl=%x portid=%02x%02x%02x comp=%x " + "iop0=%x iop1=%x.\n", type, fcport->port_name, + sp->handle, fcport->d_id.b.domain, fcport->d_id.b.area, fcport->d_id.b.al_pa, le16_to_cpu(logio->comp_status), le32_to_cpu(logio->io_parameter[0]), diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index d7fc9db..5d650f6 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -554,6 +554,7 @@ void qla2x00_async_nack_sp_done(void *s, int res) sp->fcport->login_gen++; sp->fcport->fw_login_state = DSC_LS_PLOGI_COMP; sp->fcport->logout_on_delete = 1; + sp->fcport->plogi_nack_done_deadline = jiffies + HZ; break; case SRB_NACK_PRLI: