From patchwork Fri Feb 15 22:37:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816053 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DF6881575 for ; Fri, 15 Feb 2019 22:38:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CE133300C7 for ; Fri, 15 Feb 2019 22:38:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C1A532E826; Fri, 15 Feb 2019 22:38:32 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 5B97E2E826 for ; Fri, 15 Feb 2019 22:38:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391991AbfBOWic (ORCPT ); Fri, 15 Feb 2019 17:38:32 -0500 Received: from mail-eopbgr710057.outbound.protection.outlook.com ([40.107.71.57]:34841 "EHLO NAM05-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2390411AbfBOWib (ORCPT ); Fri, 15 Feb 2019 17:38:31 -0500 Received: from SN4PR0701CA0008.namprd07.prod.outlook.com (2603:10b6:803:28::18) by BN6PR07MB2900.namprd07.prod.outlook.com (2603:10b6:404:3f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Fri, 15 Feb 2019 22:38:29 +0000 Received: from BY2NAM05FT053.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::203) by SN4PR0701CA0008.outlook.office365.com (2603:10b6:803:28::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:29 +0000 Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT053.mail.protection.outlook.com (10.152.100.190) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:28 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:27 -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 x1FMbQKe025478; Fri, 15 Feb 2019 14:37:26 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbQ7l025477; Fri, 15 Feb 2019 14:37:26 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 01/11] qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware Date: Fri, 15 Feb 2019 14:37:12 -0800 Message-ID: <20190215223722.25439-2-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439091446657;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(346002)(376002)(136003)(396003)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(11346002)(6346003)(5660300002)(105606002)(336012)(316002)(36906005)(47776003)(42186006)(80596001)(16586007)(54906003)(69596002)(110136005)(2906002)(26005)(50226002)(4326008)(53936002)(50466002)(51416003)(36756003)(76176011)(48376002)(498600001)(2616005)(446003)(106466001)(26826003)(1076003)(81166006)(8676002)(87636003)(126002)(86362001)(81156014)(305945005)(356004)(6666004)(68736007)(8936002)(97736004)(486006)(476003);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR07MB2900;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 46f52b06-7cc0-428a-fb9b-08d693964e7e X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BN6PR07MB2900; X-MS-TrafficTypeDiagnostic: BN6PR07MB2900: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BN6PR07MB2900;23:53ydvEYUz9cPDPAHJOrnprgAqQkf0QvoMv4f4hicCLoYdOOivU15FsPb2vrnFQ9f6P0EMDZFGnaCTCDosvxkDFr9a19i15N0nAfr/Lt2rL6fofipGdDYky7ye7B99Z5p6qQzcJPgZwYE82bGuiifZF86E13n7GVAQuHmV4wg2befw3ozwwq+XwQJmgWQ7dU53QmFIBWzuQaQmABmsS92lxcxKeous3TMvEVKwsuIyv0HHucyREA9DIRw3s08wcLoOX4EReG4ZQ4nZkU4xmcPzJp5InIXKvp7FzgTagZ7kFaOKGZA5K3jkY1I0Wqx55aN+G6XWMIZb5TsONrVYmu829Sm/DYvHPhf1puW1fKiriFgoEsV9HFqKWdtIacy4tRU8LawCBjZHd2FlKWRKxY8uyA/++PhfkY3MTVEqkB/IaPm5ZXcZ1Zo08TWeTiOLBg+9sp6/tb3PR0zYHKBjZSYf+1BCrJEK58YJYh9XeMQSQaMGGmSSMD2Ye+Rx2hpZ38liJkDJ0STYYfuDAxTtMFbVBWz09FK/mEfo8PigcW8k89ZUNioNFHOrOMEgk9VC0V+GZqnA3++tLV1gVG4lpm2sJyS8oGBpiZSuWP6JgioWz5h1zui+mt63+QP/bj9xT8IJl0bg3PNcxI4qVyCER188jCdNUP1DgwKUCpupQ4GrnvwENmPoQOU+ishGPXj6FwLvKYlvF5SJ4K2i4B3BW0AjDk/rSZ9G7rgwGZKZXTbVXRMp3OzKoaVEAalH5IYqk/Szdz5pRpk0ZmWmVk4S+2udijmYV6L0KRxtQAPYRalUhsTSmCSQYY6Uc98QwVxNN4XKGbVkZpMUEPz+YgiROGlQ8Fl4e1BWrgJOFlqZrFfvdjWLjdap2L/lXohyltimtxaO4A7WmqSUi95VbNXldXxdt2d6oeDpAuQNxl5BG10/w1cl0iwEwxwjyE3IxPvsT9jg8Bhdq4SkrdxuSQX9gi4GrPBoG1DzXWaFMwdyo2qwa72k16p9ri3tVQFwqXwxyiFPMG5VkOi259ecVnQoswC68iVVp7a6jGUCUqOfAT8ytwR4JMHUiP+i+YF8FYTOyAO1xablBu4BfkHyFABcfvClAvGUyqhsi9OFlog5JU07eAWMRLNWetFycQrx9dioNxrScqbGfWHisqwRH4cp/cEm1vLEf/SEVgL7RobVcrZE8U5ZNY6zAMKpDfk80lNfG+YjzB76RH1KJXR1v1kKtahGw== X-Microsoft-Antispam-Message-Info: FBveRu3hbfenINwB000nnUa32WLFGeG93c4lmhm6X44pNNx8BEhNqak5dNJ2WBw9/AiBN0qs9vK994yi0xJtpWK196Kt/NgbdoRjqd6FO/uVXkua1lJ3uTMNn202a/1JpWtR3WcCQhweM89p50lD2rjdZNyzrpkfk4Xk2WKJpiTS3fEOZnHnG08a0c5jQrBVGBo1vSlOk5GFWuGyZhedZhnxsV1qXWy7OmGDv4Qh03iVQsqSLLrUA/TZGdl7SOh2XEsA3GVnO6308MswUtFZMiFFoNzvUT76AHYjN0hiKKzCNI5EsSpB0tOJ9Ki6KP3G7q6NfQdNK+R1cksUj0tBskdwCby7mr+tdFyUyRnaXOcCtsB7PNMXw1WIGM/CGzlFGU+GVXJhoTYT/NoGPvta3QYqEHRMuyMzP7lxaadOwx4= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:28.8294 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 46f52b06-7cc0-428a-fb9b-08d693964e7e X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB2900 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 This patch fixes LUN discovery when loop ID is not yet assigned by the firmware during driver load/sg_reset operations. Driver will now search for new loop id before retrying login. Fixes: 48acad099074 ("scsi: qla2xxx: Fix N2N link re-connect") Cc: stable@vger.kernel.org #4.19 Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_init.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 8307eac796a2..cdf57eb643b3 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -644,11 +644,14 @@ static void qla24xx_handle_gnl_done_event(scsi_qla_host_t *vha, break; case DSC_LS_PORT_UNAVAIL: default: - if (fcport->loop_id != FC_NO_LOOP_ID) - qla2x00_clear_loop_id(fcport); - - fcport->loop_id = loop_id; - fcport->fw_login_state = DSC_LS_PORT_UNAVAIL; + if (fcport->loop_id == FC_NO_LOOP_ID) { + qla2x00_find_new_loop_id(vha, fcport); + fcport->fw_login_state = + DSC_LS_PORT_UNAVAIL; + } + ql_dbg(ql_dbg_disc, vha, 0x20e5, + "%s %d %8phC\n", __func__, __LINE__, + fcport->port_name); qla24xx_fcport_handle_login(vha, fcport); break; } From patchwork Fri Feb 15 22:37:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816055 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 318AA1575 for ; Fri, 15 Feb 2019 22:38:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1FFBF2E826 for ; Fri, 15 Feb 2019 22:38:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 10E63300E9; Fri, 15 Feb 2019 22:38:40 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 3D29D2E826 for ; Fri, 15 Feb 2019 22:38:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391993AbfBOWij (ORCPT ); Fri, 15 Feb 2019 17:38:39 -0500 Received: from mail-eopbgr690084.outbound.protection.outlook.com ([40.107.69.84]:13584 "EHLO NAM04-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2390411AbfBOWii (ORCPT ); Fri, 15 Feb 2019 17:38:38 -0500 Received: from CO2PR07CA0056.namprd07.prod.outlook.com (2603:10b6:100::24) by BN6PR07MB2899.namprd07.prod.outlook.com (2603:10b6:404:41::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Fri, 15 Feb 2019 22:38:35 +0000 Received: from BY2NAM05FT047.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::207) by CO2PR07CA0056.outlook.office365.com (2603:10b6:100::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:34 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT047.mail.protection.outlook.com (10.152.100.184) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:33 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:30 -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 x1FMbTqs025482; Fri, 15 Feb 2019 14:37:29 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbTgg025481; Fri, 15 Feb 2019 14:37:29 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 02/11] qla2xxx: Add First Burst support for FC-NVMe devices Date: Fri, 15 Feb 2019 14:37:13 -0800 Message-ID: <20190215223722.25439-3-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439142662070;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(136003)(346002)(396003)(376002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(11346002)(81156014)(14444005)(86362001)(8936002)(81166006)(106466001)(36756003)(26005)(50226002)(51416003)(48376002)(105606002)(2906002)(97736004)(110136005)(5660300002)(50466002)(76176011)(69596002)(498600001)(305945005)(2616005)(316002)(47776003)(53936002)(1076003)(6666004)(42186006)(36906005)(126002)(476003)(26826003)(87636003)(16586007)(54906003)(486006)(356004)(8676002)(446003)(336012)(68736007)(85426001)(4326008)(80596001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR07MB2899;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1144bf0f-ab01-493e-5099-08d69396518c X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BN6PR07MB2899; X-MS-TrafficTypeDiagnostic: BN6PR07MB2899: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BN6PR07MB2899;23:yuOjxvhXZbFVfkS96LJOqYLpWiwd3Op6qINogUqYuf5CfjAOsKxc1+K1/2wGW6Mr+pWbW3bRlMqvr9zTUZQhgkUSDjGafnZPnUm3SZT6dJhE51LGYNwnkely/Exn23jkVJvd54qoc5mllWefJ35mNx+Hf13rqRYVPFUIRNkerEntXy443r7bHLS/9manD4XBltXoPnabncQksQaEOI5M5insahOWxmO8QuI++o8mUUBjpoJqIrnBNZH63r3DxDY30R9xguWDjGDX1Hh29uwHT3vMdEeZTRCcLCNJieWYOpF5/RPFXiRZ/fmlozvvEg47MsRoPdpZtmfC0rg+byMIdTzC3SoBQLvcx5Bs//qjHuFLpVHEWmy1mCuGbZRTzUpaioab5Uyrbo/EOREP2N7Bu5rLxI3Pj2VMfCGxL+u0dR6nB0ZlA21mV/Sb+vWse2DDugLC8NRMZEgOpq23hebNPm/2OdeyEZN2N3Wte66kfMEWl6E9XH169hcAxc1Eh5Q226e0K2CnbGc1JOjYTKrDh0lhrVtu/VyCtToLPG9N2PAv0Y1uNVDJ5m3uIj3OZUIzHyvKSV2HdCLDa80gtyHj4j9xNx9RRNhp8zUkkjlxHKRKQFf+ECeArAfn1+Y6ZgLd2wGwM+UdYPsCfAwmLoA9qAL5aykK+sJY+r+eL5Tij5ddmBTNTunBkybBMqiSPVjfCkRFr9IO+ZgG1mISvZpP50IHCa+1mRIVFgvI8p132lA/j3yXE9R1sojqSX4HJjUtDA1rCJooKX1mIWkXtFNwvJ5R83WPN5Nrf7JqBjmprqeyiAKApLp2ftRJqwcTICd6GajzeVoVUITaRS39MyZl07npgsiQukoFXKMF6St1qlWiTUOuDmm8NwOYHEGf1JhtxEbyTzmjcVBihXVV/rwSyRPFYres3ttduC+AK4kDHfd233fNkwPFq60ushSduhEb7yh2CbY3Wuty6elxRbaKeNZn2X1ttu2nx/QoCFFprd8sVrVRMYLa9/wfj4KajUx4kirg1Ai+Jmszp14xZSqcyIlNtIwkrywzljR08/WYXcFZ/gKxU4jT94EdoMNUEMV38pI/RLaA5XCdYlq9aMkumeQFLwcbrvbg/Zl/pPgl4FERI1eHllrMI7iZHXVUkqZyR2GovYSWKjyP64bW/8jHrYshl9/ORPxx0DwqWBMJhIs9yGb0Yszkk+1Elao/ZmXgcepds+Lk7nhAvU7EppsyO6fnhcql2qDbauUPyHji+so= X-Microsoft-Antispam-Message-Info: d2WPdm2D+lSv//dyDj96VHC3zBNtKVnIfzy8dxbsL/hcc/qxYSi+act8jMr7554qoluAlBophf0UMJUDN2nKyA4HiTkUhX/qONG0jI+igoNXBw+C/Ayfwn4FObTsK/QrB5ctG0zu2XuEKjwBVluCThYe1/hKmTH9hqgUpoCxwCwqwzVoqICoU4CK/MMKy/9gJtAU2VhmwajlimnduXHabWv1U/gfaUoJIXx7QxvNeUJKw1eG5srbX/jc6L3zInyjKvatcrCs23vCH1pgBIqKS7CweDhd1qEO4Pu09qVqmXZcottAfD+qbkBXYJvOJ2GdKu/G4YuRzzuiuus6HoA6uSwBTUilcArKRwq+TxErpI3XYfTzfPnizs8PQkeQW7geiLu8XvxqufIoGr8HnI1YWCZf8/tQ+AjRzLnqd+LDRxM= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:33.9199 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1144bf0f-ab01-493e-5099-08d69396518c X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB2899 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 Add Support for First Burst for FC-NVMe protocol. This feature requires First Burst support in the firmware. Signed-off-by: Darren Trapp Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_def.h | 4 ++++ drivers/scsi/qla2xxx/qla_init.c | 6 ++++++ drivers/scsi/qla2xxx/qla_iocb.c | 5 ++++- drivers/scsi/qla2xxx/qla_isr.c | 9 +++++++++ drivers/scsi/qla2xxx/qla_mbx.c | 5 +++-- drivers/scsi/qla2xxx/qla_nvme.c | 17 ++++++++++++----- drivers/scsi/qla2xxx/qla_nvme.h | 2 +- 7 files changed, 39 insertions(+), 9 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 80acf30fd8a5..c256ba7fba84 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2367,7 +2367,9 @@ typedef struct fc_port { #define NVME_PRLI_SP_INITIATOR BIT_5 #define NVME_PRLI_SP_TARGET BIT_4 #define NVME_PRLI_SP_DISCOVERY BIT_3 +#define NVME_PRLI_SP_FIRST_BURST BIT_0 uint8_t nvme_flag; + uint32_t nvme_first_burst_size; #define NVME_FLAG_REGISTERED 4 #define NVME_FLAG_DELETING 2 #define NVME_FLAG_RESETTING 1 @@ -3966,6 +3968,7 @@ struct qla_hw_data { uint16_t fw_subminor_version; uint16_t fw_attributes; uint16_t fw_attributes_h; +#define FW_ATTR_H_NVME_FBURST BIT_1 #define FW_ATTR_H_NVME BIT_10 #define FW_ATTR_H_NVME_UPDATED BIT_14 @@ -4260,6 +4263,7 @@ typedef struct scsi_qla_host { uint32_t qpairs_req_created:1; uint32_t qpairs_rsp_created:1; uint32_t nvme_enabled:1; + uint32_t nvme_first_burst:1; } flags; atomic_t loop_state; diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index cdf57eb643b3..2d9336a87e42 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -1829,6 +1829,12 @@ qla24xx_handle_prli_done_event(struct scsi_qla_host *vha, struct event_arg *ea) ea->fcport->chip_reset = vha->hw->base_qpair->chip_reset; ea->fcport->logout_on_delete = 1; + ea->fcport->nvme_prli_service_param = ea->iop[0]; + if (ea->iop[0] & NVME_PRLI_SP_FIRST_BURST) + ea->fcport->nvme_first_burst_size = + (ea->iop[1] & 0xffff) * 512; + else + ea->fcport->nvme_first_burst_size = 0; qla24xx_post_gpdb_work(vha, ea->fcport, 0); break; default: diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index 2c27ae1924c5..cdac282b5bd3 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c @@ -2419,8 +2419,11 @@ qla24xx_prli_iocb(srb_t *sp, struct logio_entry_24xx *logio) logio->entry_type = LOGINOUT_PORT_IOCB_TYPE; logio->control_flags = cpu_to_le16(LCF_COMMAND_PRLI); - if (lio->u.logio.flags & SRB_LOGIN_NVME_PRLI) + if (lio->u.logio.flags & SRB_LOGIN_NVME_PRLI) { logio->control_flags |= LCF_NVME_PRLI; + if (sp->vha->flags.nvme_first_burst) + logio->io_parameter[0] = NVME_PRLI_SP_FIRST_BURST; + } logio->nport_handle = cpu_to_le16(sp->fcport->loop_id); logio->port_id[0] = sp->fcport->d_id.b.al_pa; diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index bde9940ea7d1..b5ae76869d5b 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -1715,6 +1715,15 @@ qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req, vha->hw->exch_starvation = 0; data[0] = MBS_COMMAND_COMPLETE; + + if (sp->type == SRB_PRLI_CMD) { + lio->u.logio.iop[0] = + le32_to_cpu(logio->io_parameter[0]); + lio->u.logio.iop[1] = + le32_to_cpu(logio->io_parameter[1]); + goto logio_done; + } + if (sp->type != SRB_LOGIN_CMD) goto logio_done; diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index f4adf6baee69..6c911f2e4cdb 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -1112,6 +1112,9 @@ qla2x00_get_fw_version(scsi_qla_host_t *vha) if ((ha->fw_attributes_h & (FW_ATTR_H_NVME | FW_ATTR_H_NVME_UPDATED)) && ql2xnvmeenable) { + if (ha->fw_attributes_h & FW_ATTR_H_NVME_FBURST) + vha->flags.nvme_first_burst = 1; + vha->flags.nvme_enabled = 1; ql_log(ql_log_info, vha, 0xd302, "%s: FC-NVMe is Enabled (0x%x)\n", @@ -6267,8 +6270,6 @@ int __qla24xx_parse_gpdb(struct scsi_qla_host *vha, fc_port_t *fcport, fcport->d_id.b.rsvd_1 = 0; if (fcport->fc4f_nvme) { - fcport->nvme_prli_service_param = - pd->prli_nvme_svc_param_word_3; fcport->port_type = FCT_NVME; } else { /* If not target must be initiator or unknown type. */ diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c index 39d892bbd219..d6ba078d8255 100644 --- a/drivers/scsi/qla2xxx/qla_nvme.c +++ b/drivers/scsi/qla2xxx/qla_nvme.c @@ -358,17 +358,24 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp) /* No data transfer how do we check buffer len == 0?? */ if (fd->io_dir == NVMEFC_FCP_READ) { - cmd_pkt->control_flags = - cpu_to_le16(CF_READ_DATA | CF_NVME_ENABLE); + cmd_pkt->control_flags = CF_READ_DATA; vha->qla_stats.input_bytes += fd->payload_length; vha->qla_stats.input_requests++; } else if (fd->io_dir == NVMEFC_FCP_WRITE) { - cmd_pkt->control_flags = - cpu_to_le16(CF_WRITE_DATA | CF_NVME_ENABLE); + cmd_pkt->control_flags = CF_WRITE_DATA; + if ((vha->flags.nvme_first_burst) && + (sp->fcport->nvme_prli_service_param & + NVME_PRLI_SP_FIRST_BURST)) { + if ((fd->payload_length <= + sp->fcport->nvme_first_burst_size) || + (sp->fcport->nvme_first_burst_size == 0)) + cmd_pkt->control_flags |= + CF_NVME_FIRST_BURST_ENABLE; + } vha->qla_stats.output_bytes += fd->payload_length; vha->qla_stats.output_requests++; } else if (fd->io_dir == 0) { - cmd_pkt->control_flags = cpu_to_le16(CF_NVME_ENABLE); + cmd_pkt->control_flags = 0; } /* Set NPORT-ID */ diff --git a/drivers/scsi/qla2xxx/qla_nvme.h b/drivers/scsi/qla2xxx/qla_nvme.h index 4941d107fb1c..da8dad5ad693 100644 --- a/drivers/scsi/qla2xxx/qla_nvme.h +++ b/drivers/scsi/qla2xxx/qla_nvme.h @@ -57,7 +57,7 @@ struct cmd_nvme { uint64_t rsvd; uint16_t control_flags; /* Control Flags */ -#define CF_NVME_ENABLE BIT_9 +#define CF_NVME_FIRST_BURST_ENABLE BIT_11 #define CF_DIF_SEG_DESCR_ENABLE BIT_3 #define CF_DATA_SEG_DESCR_ENABLE BIT_2 #define CF_READ_DATA BIT_1 From patchwork Fri Feb 15 22:37:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816069 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2230B1390 for ; Fri, 15 Feb 2019 22:39:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 100512FD5E for ; Fri, 15 Feb 2019 22:39:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 01ADF2FDAC; Fri, 15 Feb 2019 22:39:23 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 92D8A2FD5E for ; Fri, 15 Feb 2019 22:39:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392963AbfBOWjX (ORCPT ); Fri, 15 Feb 2019 17:39:23 -0500 Received: from mail-eopbgr780051.outbound.protection.outlook.com ([40.107.78.51]:19280 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2390411AbfBOWjW (ORCPT ); Fri, 15 Feb 2019 17:39:22 -0500 Received: from BYAPR07CA0074.namprd07.prod.outlook.com (2603:10b6:a03:12b::15) by BL0PR07MB5457.namprd07.prod.outlook.com (2603:10b6:208:37::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 22:38:41 +0000 Received: from BY2NAM05FT039.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::208) by BYAPR07CA0074.outlook.office365.com (2603:10b6:a03:12b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:40 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT039.mail.protection.outlook.com (10.152.100.176) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:40 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:34 -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 x1FMbWFu025486; Fri, 15 Feb 2019 14:37:32 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbW4D025485; Fri, 15 Feb 2019 14:37:32 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 03/11] qla2xxx: Fix unload when NVMe devices are configured Date: Fri, 15 Feb 2019 14:37:14 -0800 Message-ID: <20190215223722.25439-4-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439206122733;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(346002)(136003)(39860400002)(376002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(446003)(126002)(2906002)(2616005)(305945005)(86362001)(8936002)(476003)(105606002)(50466002)(76176011)(51416003)(356004)(47776003)(11346002)(1076003)(4326008)(48376002)(6666004)(80596001)(110136005)(54906003)(14444005)(87636003)(42186006)(53936002)(316002)(97736004)(16586007)(36756003)(498600001)(69596002)(81156014)(486006)(106466001)(68736007)(81166006)(50226002)(85426001)(36906005)(26826003)(336012)(8676002)(26005)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR07MB5457;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af4c8084-24ca-4266-f700-08d69396555d X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BL0PR07MB5457; X-MS-TrafficTypeDiagnostic: BL0PR07MB5457: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB5457;23:2Zg5T8/aRm40FVDvr2/414LLjCPB7Ywetu3Z0TL6Aw4E6ASTQZxAwbFG07Wl7bh8nyutWy3c2OU1aerUIijlg9gzupmLl2bYMqTysSkSZE8i715oCL5vSMtAap5rWUIt+4/3wcTDebA8uogl9dUPJPHT/Yn7jwoVc9uDMal9eku9ICjeKjdLkv3R5SkI7MsBZykVyIKe6WtGI9U42w3eXYTMmJfeoKfg4wrZmsbooSIMPOLpneFQ3Iagvok8CB6K+ASAzRvPwg8T0zkpZ8amBQN0u5ouUnmoRbOIZUxOJyo7b4Opy2C0QSJo5PNVSUXFxXLhnlca0vm4v9tfZQeaFYHAKTrJHP30ylv3yaF0qrA0sKoKVTOwCgfpXf8GijiKA7/P1DwfNoSAIB7mV77Mc5D7q315Zuy82wbbQ7kxYM0fJTlh+ZScc+wS5BzA7n9wa9PsZxZxKHb+AV9tZ5ri8C54wX5UW2e+BRVSV+xgiw932eE7BST4qE/8v4O3jIcapa3vFCo/b+04W/5gioOgL0eXhGsZbfKbeAjXTtznN+E3bDfSmGxcXl4xPRQ0lMGR9knp7goOMuOjwnCIgkDwmDrHeoKzN4JZTPADgRCXhBpHDb6Vx46iSk03s/moUbN7RqyHDfpMW2VLWFaeF5Kao94gNZbhpn+nFj4NzS9B6amZHdkQJVRx+ZKP1RY18xF5PgLiAMoO3bCJawlIJCuqoEwgHFzbShaqdAMOAH3ONJyeAql1gbMwQLecf5QM26/SN7e6fXLo6mmSAX+8dkI44YUejJJBqP4XIKbAR7DfsOfaySfneSMHAm0x9L8mSXVzZUk4/BegLxZfO6AFSgUp4UGXzYk3m2lIHm6c9WeWRzF2P0XfAPrdxPW7/9XtTYZgxpM1O9xhtjkiMq8fFXdlHDnsqIOhKHODugH4juAHyaw2pNen1dF3lb/iOkcCIzRC0JwzQb7GiSsbBemCZ0PyCGDzPojHGTAFLDKZJQGovvrxW4yad3hvYEReeEc416M7BEWvqBpgBifC45cOxQVE0VrL6jLFYS7bDbG4arjO9n6b8ZVpYhsiCnC7nzA+nOrKa9REpPD3IHAK1Me6Z4Ju8PqTkiDwDOpH28nZ+PoUs2gzS6xyerNOQIqO0YwwtoDtfGSyto4FUvIUmUKJ8Zr7ILttBGXq8bGZRyOxR7KRRtkQ4zqs1AHvjejGTpvxTasHdW3HOJntrUeXZuokpB19rCJib27rU6QkSwzGlVywDNc= X-Microsoft-Antispam-Message-Info: DawCkmfSVar2JmrEweqDCUJg4rkY4xtKhbt/brFwxyjdUswpTfdxvBxP97clDsLSTRk/6VmTJCANrbzOGzxuG023tpQwbprdv88Ad8d/Pe3tdJs6ugVDR8nMQezxwlw0z67gEsplvga5wewNNtv8EnrQuCvkolzaM5I4wbntzWM82PyUnLBbSEm+Qi+hnlWUHuqeAxAyCD56alB9yaQvGnX3OkY+Ej7+DAMyvvyg34OAFGApC2AGkCgGtnvMJf9cZSeBCO/gr/iKtiPdTebzfQT+pFyDyANmufEMJz7ELkvsJckz8/BJ3EcKDgSYryeM4Akh6pMtH+Ld8kbzM9a5PrzurJbrYtr7L8XV2gDjEFP/r3YWeXbQC/DKRRLLe7ZsaXmLp5HMUKigc0fdMEQFWDKLVmywcdpZXNkOjA6Xdy0= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:40.3570 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af4c8084-24ca-4266-f700-08d69396555d X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB5457 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 This patch fixes driver unload issue when FC-NVMe devices are configured. Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_nvme.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c index d6ba078d8255..232b987e79dd 100644 --- a/drivers/scsi/qla2xxx/qla_nvme.c +++ b/drivers/scsi/qla2xxx/qla_nvme.c @@ -607,6 +607,7 @@ static void qla_nvme_unregister_remote_port(struct work_struct *work) struct fc_port *fcport = container_of(work, struct fc_port, nvme_del_work); struct qla_nvme_rport *qla_rport, *trport; + scsi_qla_host_t *base_vha; if (!IS_ENABLED(CONFIG_NVME_FC)) return; @@ -614,6 +615,15 @@ static void qla_nvme_unregister_remote_port(struct work_struct *work) ql_log(ql_log_warn, NULL, 0x2112, "%s: unregister remoteport on %p\n",__func__, fcport); + base_vha = pci_get_drvdata(fcport->vha->hw->pdev); + if (test_bit(PFLG_DRIVER_REMOVING, &base_vha->pci_flags)) { + ql_dbg(ql_dbg_disc, fcport->vha, 0x2114, + "%s: Notify FC-NVMe transport, set devloss=0\n", + __func__); + + nvme_fc_set_remoteport_devloss(fcport->nvme_remote_port, 0); + } + list_for_each_entry_safe(qla_rport, trport, &fcport->vha->nvme_rport_list, list) { if (qla_rport->fcport == fcport) { @@ -630,23 +640,11 @@ static void qla_nvme_unregister_remote_port(struct work_struct *work) void qla_nvme_delete(struct scsi_qla_host *vha) { - struct qla_nvme_rport *qla_rport, *trport; - fc_port_t *fcport; int nv_ret; if (!IS_ENABLED(CONFIG_NVME_FC)) return; - list_for_each_entry_safe(qla_rport, trport, - &vha->nvme_rport_list, list) { - fcport = qla_rport->fcport; - - ql_log(ql_log_info, fcport->vha, 0x2114, "%s: fcport=%p\n", - __func__, fcport); - - nvme_fc_set_remoteport_devloss(fcport->nvme_remote_port, 0); - } - if (vha->nvme_local_port) { init_completion(&vha->nvme_del_done); ql_log(ql_log_info, vha, 0x2116, From patchwork Fri Feb 15 22:37:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816057 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2B7521390 for ; Fri, 15 Feb 2019 22:38:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1BE9F2E826 for ; Fri, 15 Feb 2019 22:38:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 10277300E9; Fri, 15 Feb 2019 22:38:43 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 A80592E826 for ; Fri, 15 Feb 2019 22:38:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392018AbfBOWim (ORCPT ); Fri, 15 Feb 2019 17:38:42 -0500 Received: from mail-eopbgr730083.outbound.protection.outlook.com ([40.107.73.83]:7264 "EHLO NAM05-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2391999AbfBOWim (ORCPT ); Fri, 15 Feb 2019 17:38:42 -0500 Received: from BYAPR07CA0079.namprd07.prod.outlook.com (2603:10b6:a03:12b::20) by MWHPR07MB2912.namprd07.prod.outlook.com (2603:10b6:300:1f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Fri, 15 Feb 2019 22:38:40 +0000 Received: from BY2NAM05FT039.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::207) by BYAPR07CA0079.outlook.office365.com (2603:10b6:a03:12b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:39 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT039.mail.protection.outlook.com (10.152.100.176) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:39 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:37 -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 x1FMbZlM025490; Fri, 15 Feb 2019 14:37:35 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbZGO025489; Fri, 15 Feb 2019 14:37:35 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 04/11] qla2xxx: Check for FW started flag before aborting Date: Fri, 15 Feb 2019 14:37:15 -0800 Message-ID: <20190215223722.25439-5-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439197165523;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39850400004)(396003)(136003)(346002)(376002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(48376002)(50466002)(6666004)(486006)(2906002)(106466001)(36756003)(53936002)(1076003)(85426001)(36906005)(16586007)(476003)(316002)(2616005)(105606002)(42186006)(86362001)(126002)(110136005)(47776003)(446003)(11346002)(54906003)(69596002)(4744005)(81166006)(80596001)(76176011)(26005)(68736007)(8676002)(336012)(26826003)(50226002)(97736004)(498600001)(4326008)(51416003)(305945005)(356004)(81156014)(8936002)(87636003)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR07MB2912;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;A:1;MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2da2442a-d45a-4087-e744-08d6939654ca X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:MWHPR07MB2912; X-MS-TrafficTypeDiagnostic: MWHPR07MB2912: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;MWHPR07MB2912;23:B4mzFtnhIQn3MajdKT1p/IcZxxk8J3tXIxf20XxbQrmveu+wVikk0cVIqa+ayvu3frgs9sY5van2KAnGQoZnM3A0ebufmH6Vg09LnlHSvus2gEpZUcrLkgE70l0jtm48/OGZvxhNJvvWAN+A+4ZmzmAsz6yC6wE76m7SkpztJWxUgMKaYfQftTICU0neWrEfHFi5mE4STTMR6fPTbuJIRR2zk13IywjCtn08COk13is1vtek1skZ0BhKn/pUpiDTQjCxSKbNr/s521ZgdoLSGXs3o5DP9qm85U4mXGgB2P+rMkFtBINazbM3wWLr6BFeEWjuc1zNjWorItV4YLZ6Sh+7zjiMf1uAb35ak3tYueZrDYkZ1pL1tEHDDX+0MWP3TfzymQpoucHtuwGXO2ahgu1eDiFA0od3PPx26uqzyjOVf+xRCB9lobdfW7egvmpfZqxZc0zjOYeCm9EDanu33hYz02BUVdsLE+uHEc7MqndzoFeDStdBFSbYNy5/qjSEgsU33Qjq5W5rfzCuY28E6RgC2zaRKej6IvyFOk1KoLzvfIcSi4+YQi/j7IyBNS8utVa24Sk8iukKUfol3jYJf57o5RYV3YznOyQBIFOgnx7KtQ+x+aS4zNbGldw1j46jKQI5YA9pUU3jfmJDoEY8P5Xay0mZsNfzzRDl9cAZ4Gjnsk0GXLfFV1edOwe3CAhxsyXnyZ4iLiukWBv/WDyurb9hw/+dIzrPhtR4YF7gj9vZKUCfFhpE4DxvTxPbtbkOr1qjEHUkav3U7evM/54xDheX7+wBX4KZvDjJ8ncmPVGHv9EcWkTaXD3dKQlxPFqd/C3HryrOvptwLWeFkDySQNnNZtG5xZDCFwSF3F/dgkky4UyEUF8iAEhOhtEEo4fzWlu8fkdw8/IZSQfZKTwltAWE/U5teeEYu6JAIwwOLBljPvA+9oEPxUP9rop5dlO390GbEm3Q3cVDrLWzJaJfx3KXDJtKPB6uGml82Y3FgE+V/gfMyLmGOxvfHtuZOtwtu4fqMaNWAi3P6Dtz9e3+Xid/22v1emcuiRkgTtDVbWO+VRf6je/OdkDCDxw+IOI3UDGkmR+GvzJi4F1N0gfbJtcDBmIGANxcUD8hQ6T1kjrq9wDw+sbvjmURH2I7gk3TDc9iIYJ/kAtLJhGpgZ5IMXzH7mmH7mlwbV+3Q28lLCleRZ2/DOFkA2CP68eqEP4PYfpEC0JKn/hopximem2KEisD1TBvHR51HDYcOiby9y0= X-Microsoft-Antispam-Message-Info: aF8D5MJx4Qa/55kHJ/oDWvE7kdrfCGZOeKdOL/r5lcT1Gfk7tVEekcq2spWcfmX1J4eW+jJ+P9uVOwQJHduKLo0iblZNe1L6nPxb3vsS8xn6KhB1ZuQBpz0EdBRFFQXbn8M7jOEadg5lz/KmkpouU91Yb+Qvgyu6VqK9cFyOtworakxZQaMZ8iqGfG3sLphxcN44GYkJ/iMU7PUbYzZRnFS31AQx66N1U8tdSrP8byBv9/WsUAoRJxrh1qa71/T6wircSZMzlKSaaSp1ZvqpPc1zJEOXGcLFpNVOLaakEGaBwyKaYmHqutZtV7RCnrT2bEpLWxknHonRLqmDpXF3njJa/Q4eooWkW1R8+3AJaUaK1Xcy8xtm23xP3X5gGcplH7TjFzeJ9lrkMU1OqghV5xWFGY9sRgt6V+ldVKSX9RQ= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:39.3942 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2da2442a-d45a-4087-e744-08d6939654ca X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB2912 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 For FC-NVMe, if the fw_started flag is not set or fcport is deleted, then do not send Abort command Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_nvme.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c index 232b987e79dd..41c85da3ab32 100644 --- a/drivers/scsi/qla2xxx/qla_nvme.c +++ b/drivers/scsi/qla2xxx/qla_nvme.c @@ -185,6 +185,14 @@ static void qla_nvme_abort_work(struct work_struct *work) struct qla_hw_data *ha = fcport->vha->hw; int rval; + if (fcport) + ql_dbg(ql_dbg_io, fcport->vha, 0xffff, + "%s called for sp=%p, hndl=%x on fcport=%p deleted=%d\n", + __func__, sp, sp->handle, fcport, fcport->deleted); + + if (!ha->flags.fw_started && (fcport && fcport->deleted)) + return; + rval = ha->isp_ops->abort_command(sp); ql_dbg(ql_dbg_io, fcport->vha, 0x212b, From patchwork Fri Feb 15 22:37:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816059 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5ACCD1575 for ; Fri, 15 Feb 2019 22:38:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4B430300C7 for ; Fri, 15 Feb 2019 22:38:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3EB74300EE; Fri, 15 Feb 2019 22:38:48 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 DA1F4300C7 for ; Fri, 15 Feb 2019 22:38:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392190AbfBOWir (ORCPT ); Fri, 15 Feb 2019 17:38:47 -0500 Received: from mail-eopbgr690089.outbound.protection.outlook.com ([40.107.69.89]:1392 "EHLO NAM04-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2391999AbfBOWir (ORCPT ); Fri, 15 Feb 2019 17:38:47 -0500 Received: from BYAPR07CA0026.namprd07.prod.outlook.com (2603:10b6:a02:bc::39) by BLUPR0701MB1923.namprd07.prod.outlook.com (2a01:111:e400:5164::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 22:38:44 +0000 Received: from BY2NAM05FT029.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::209) by BYAPR07CA0026.outlook.office365.com (2603:10b6:a02:bc::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:44 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT029.mail.protection.outlook.com (10.152.100.166) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:43 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:40 -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 x1FMbd3x025494; Fri, 15 Feb 2019 14:37:39 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbdEu025493; Fri, 15 Feb 2019 14:37:39 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 05/11] qla2xxx: Prevent multiple ADISC commands per session Date: Fri, 15 Feb 2019 14:37:16 -0800 Message-ID: <20190215223722.25439-6-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439241589348;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(396003)(346002)(376002)(136003)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(50466002)(498600001)(26826003)(476003)(87636003)(69596002)(4326008)(126002)(86362001)(2616005)(53936002)(36906005)(80596001)(1076003)(106466001)(305945005)(446003)(105606002)(4744005)(11346002)(36756003)(26005)(51416003)(42186006)(2906002)(76176011)(486006)(316002)(68736007)(16586007)(110136005)(54906003)(85426001)(81166006)(81156014)(8676002)(6666004)(356004)(97736004)(8936002)(336012)(48376002)(50226002)(47776003)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR0701MB1923;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8f2bfebf-3fbc-4aa5-ebae-08d693965779 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BLUPR0701MB1923; X-MS-TrafficTypeDiagnostic: BLUPR0701MB1923: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1923;23:TVoYH8RBYXmRtsJMtZ0ZtqdTVtu5kScBP8K1rnDAyCH0cywgCw0LG/GJinjlTRPDVW9juoYHK/r0W8PCfiqkqPSVNNyq+R0ttb3AYcs/vU96LjwtlSGojg21EEK74WrfDvIU/Um+0WVpnCxwbBwKgFu2ecp693B08btj0tDjpPGHNcoJXbXFztT6fXQNcb2iSnqxQDog6tcUxf+q4mg4P73rkByOjRaLfpx7bLPX5OGgflE/DQzX6+1RIhhAB1bm3QaBziGYncS3n6mDT9YMdWt3wTcumsBAcfzlk9gHKP8iPmtv4P9+rFThXSIfM1b+zAnPCVKIPmExHXgT7dZ9XGCZHBCjFKn9fgGKOTNfWHhArX0cHFp3fz8fMGhPmmUr6Vz58W1lpeZDg4N4tzSXSjuqVTr69P74sEqpS8E0JwHa+ORH1ghSb53/hFJSb0Dq09dFLjd1urSvXm3GRL48Mwc42dPi+BZVi3odHiBAnbmXBYCJ6k0ydi5fFxQkbRbwpz+kXjdoaE+xJKgxaLhcziY+2mADC2KtPv05wrxoE1ATQdLRzRg4F8e5pu16YZrP8gQrvoL1SO5YU64YAnDx+7hGzfXm4Wl38cN43fmNoEqff3QpCFWlqUk2z1GLAUcsi5+GGifhky54shQ0hxritAcC3nmE0G9amDTFySd/InUwejgfLKJF1Nxa6AO5VJV6Cwo+YNaYkjfVmfTZgRPO4vWsfdVNl/n34LpG7BDioUP+5kv9q+zjB5gP/bI0DuzQ2oH/QQ1XG9t+hYfDdj67eWyEo3wjJHwY21BYz5vSKusKYaYDF83fUaVHy4BSnf5UeGWBawCZ+o7g33PtSNOUwVwrqASnHGZrAwTPRxtWG51NhAmyN2wXlz1Hmei2dwuesb8TuTjJimQJru0VYmec21i4Zvm2oYEejw6xxVV4z0geagrWm8mdDhum3Kr03chz9l3ZgTOnH/bhgG2/cqutp63zICQ8kwLmX0ZF9RF8uLRoiPCO35954IY/5OdAuj1/+rAC5r3ATymFtCSQnNCFmkxMdU8dlDdb8RUwnzEcHTsvbZdBf59Yta74GSHB1aSHP4jwxo/TOdW5jVDvRRWRfBk7Il08xaXVs1ya6hHzhBQam/qB+8U5hvwG+bMI0mBU+JxiMJtumlzDHXfDFPakJVF6FLlyU+fniL1wL7AfH4hkVRji2Xazhnta3VmeJXHAW0R6HKuA53d1E+dJd2k2CaULu7kHksIl50yuQLBIcRA= X-Microsoft-Antispam-Message-Info: AKmq+lU+cYKeuhcZV9gKEEHkR7+Qvb2688h/rphLnBcWmNhLRaM02FVot71I40xonNM/RK0TTNjjAqyxup0GLpiSWx9IJA9oUaq99vlL7hXNtKbfHzXbagjIrQw0Pz1DEe5ESsQrjE7/5cQkHuMN5YyDoDGjWw/5STZozeef2iFsNhdJ6PBFb9PatTDAoHLfUm9TVpILaccUDCt4f9ddj7l4Nc/nV84UB/HuoKIpyH4jpVRv/Fvb2WptYJ6phaUrkT+o3L9GHsGvW5NNAaaATYNlQ8WQlHJ4dz1/Y5MhfTprwRKaWckbCg+VIGu01zkp5R1+ipgtnBfoP3LWdtevqZGNSkPJHhw6NmSumCtgQeuXrFqKL7e1r3ji6zVeyA+/mSt+yBqgkr0gKVSNqSUnREQxX2iXaPFaHJ12wmJBZ+g= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:43.8887 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8f2bfebf-3fbc-4aa5-ebae-08d693965779 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1923 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 add check to allow 1 discovery command per session to be sent. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_init.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 2d9336a87e42..ba5da365ee4a 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -471,9 +471,11 @@ qla2x00_async_adisc(struct scsi_qla_host *vha, fc_port_t *fcport, { srb_t *sp; struct srb_iocb *lio; - int rval; + int rval = QLA_FUNCTION_FAILED; + + if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) + return rval; - rval = QLA_FUNCTION_FAILED; fcport->flags |= FCF_ASYNC_SENT; sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); if (!sp) From patchwork Fri Feb 15 22:37:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816073 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EE5271575 for ; Fri, 15 Feb 2019 22:39:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DD7032FD5E for ; Fri, 15 Feb 2019 22:39:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D19832FDAC; Fri, 15 Feb 2019 22:39:25 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 1B9C42FD5E for ; Fri, 15 Feb 2019 22:39:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392994AbfBOWjY (ORCPT ); Fri, 15 Feb 2019 17:39:24 -0500 Received: from mail-eopbgr780051.outbound.protection.outlook.com ([40.107.78.51]:19280 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2391931AbfBOWjX (ORCPT ); Fri, 15 Feb 2019 17:39:23 -0500 Received: from DM6PR07CA0026.namprd07.prod.outlook.com (2603:10b6:5:94::39) by BL0PR07MB5457.namprd07.prod.outlook.com (2603:10b6:208:37::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 22:38:50 +0000 Received: from BY2NAM05FT019.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::207) by DM6PR07CA0026.outlook.office365.com (2603:10b6:5:94::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:50 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT019.mail.protection.outlook.com (10.152.100.156) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:50 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:43 -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 x1FMbgVJ025498; Fri, 15 Feb 2019 14:37:42 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbgQ5025497; Fri, 15 Feb 2019 14:37:42 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 06/11] qla2xxx: Add support for setting port speed Date: Fri, 15 Feb 2019 14:37:17 -0800 Message-ID: <20190215223722.25439-7-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439303683292;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(346002)(136003)(39860400002)(376002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(446003)(126002)(2906002)(2616005)(305945005)(86362001)(8936002)(476003)(105606002)(50466002)(76176011)(51416003)(356004)(47776003)(11346002)(1076003)(4326008)(48376002)(6666004)(80596001)(110136005)(54906003)(14444005)(87636003)(42186006)(53936002)(316002)(97736004)(16586007)(36756003)(498600001)(69596002)(81156014)(486006)(106466001)(68736007)(81166006)(50226002)(85426001)(36906005)(26826003)(336012)(8676002)(26005)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR07MB5457;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9fac4360-2a13-4090-6b95-08d693965b2e X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BL0PR07MB5457; X-MS-TrafficTypeDiagnostic: BL0PR07MB5457: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB5457;23:4e9+j4KLSntgdJf/qqAEsKjMU1coAuK/+fXEsPyzttMr/R0iyPrMYjKav6nwFnT8TK1RdcEUK5BOENayBC+fGmS9jN9s0fOJ2d6kO7ivEYwOAAWUwxmnEINiaQqTz9/818S/RUXjIERnfzMrpHXp8n8bhOUSFyEpnRXN1CEp+ClsPsrcfvnYull0pYzGD9MOqeTuYM3+LheK0Ve9LsE0xsLUWRRCQsEJ7lLPrH2yV//6svJsuUXy4CQ7wpdfJtrtll1bYIvhx0tqKhlVgHe15rwM86xW+EXnByKBAonqU4RHRE0i+O63bo8Ho3ORAkLf/NsbzK51914fBHJjtF1lK4W0PE0X0JI5Mcta1zzC982eouRwvp6LsjdYsjWZN2wTF3S0YDuh3H0NyT1DZjdMKp+w2R4/LB/ti8HJnr/9u0bl6pNgPjIkEGfdCEuAwCbseV27Jy8n7A+6gl6gICBReDREG7x9rBQ7rIP+7kMas7USisOpf4aCLGOsjmjkbx9WDACnJHxLH26pmhaOlkQTcZmDpne8Q2BRcEu3i01Ihj29czl5lMp4yGcmV4QteJlVfEQc8fVni3kgP6+z3kn84L3s1xyyM/wxAskNx9WY8x2DEcszfPznS/LK1fN/1x/IzHMQgR/cPT82BR/edN+ErPjI+yp0Os4aeYp09dPFol+BWqBCYkjL7mL8jkemhIuiS7ZtzjdWWokx5OBLO2eOE1Vi2y+e8DbrQyRygDL/lEensRXetN13oNlqkvHITGh72RdXvSJ4vmpQwND0SlVEHPKtgIsHz7GCoil2jNimuo8VG7TQUTG1TzySsxqAr2whNmEEXa/0zFK0CWJuVWpJvE3lQ5YqEDogMrwF8NMdahez+aLErlkPLG79EVrB8AufcZyRR7JDTd1JgfWfQRW4cdLtS1tHOjD+lPTv+3hNPw4UXqR8z2H1aOC3JdfK2Dj+7UTGGgpfKFoe95xZw8EfoEMRGeplIRBZE5xo1b2CrxP43kbrt3QpC9WhfqkwSbMO6G9Z65LymjExA4fRYl5nE5soKNWMZ3Y0Rd4vP3WpnU6Y8jZa2nuxbWvl98t93mu5Cv6p2G8jmKC1FX0Gan4qYQ2SrB2dP4WGvBEPmK8fllT0j3/tfdOD/rTcUKw/T+WjOS6aqinTZWlEVprLOPjwgBX93SvM2cfJM58aZwSjkO7wrEYVqxUhpF+HiJxq4hHF50y2fzogmyDVBDau7QQtGRe3wzHpkTXUdVDZ1sW6nKo= X-Microsoft-Antispam-Message-Info: TXsLjp5PGM8qfqY6b9ls4OHolLjjYpsfD/dmt/Ych6I8eYQJC6HXgalvGgENw3K0A76Ddksu5q1Iqye7HjHX4wzIKAseZl8d9hwcCLZatxuaoBNbCWUvlVetQS3tGQQLTFS0JbcVyCL6Ko1G0GgunlnM/v6saxpKpMs48l3iB0MQOyv4Ct02PPov2Zjf42sr17rvfW9Tiw+7dzXBksuSBj4lMYtSQksgf+S25VbJQAt5tihpu/jMkubd1krlN1au05RI1J/zmANmNllY4rL+xhYERGnDmZyddgtmrfB0yUzo7w0JnoynaltUB0ZKOoPiz1JL52H01XSJmLVih8aIu4nEOHyOdqi0lrxF3457a/6O3+LsDWvhKvZa9+4ObrnOi8ygCY0moNASggiHEv1fkbLYqcWrbDt7HSaXu1vw2ak= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:50.0867 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9fac4360-2a13-4090-6b95-08d693965b2e X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB5457 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: Anil Gurumurthy This patch adds SysFS node 1. There is a new sysfs node port_speed 2. The possible values are 2(Auto neg), 8, 16, 32 3. A value outside of the above defaults to Auto neg 4. Any update to the setting causes a link toggle 5. This feature is currently only for ISP27xx Signed-off-by: Anil Gurumurthy Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_attr.c | 89 +++++++++++++++++++++++++++++++++++++++++ drivers/scsi/qla2xxx/qla_def.h | 6 +++ drivers/scsi/qla2xxx/qla_gbl.h | 1 + drivers/scsi/qla2xxx/qla_init.c | 9 +++++ drivers/scsi/qla2xxx/qla_mbx.c | 62 +++++++++++++++++++++++++++- 5 files changed, 166 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 8b4dd72011bf..ee9f943f4d07 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c @@ -1632,6 +1632,92 @@ qla2x00_max_speed_sup_show(struct device *dev, struct device_attribute *attr, ha->max_speed_sup ? "32Gps" : "16Gps"); } +static ssize_t +qla2x00_port_speed_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t count) +{ + struct scsi_qla_host *vha = shost_priv(dev_to_shost(dev)); + ulong type, speed; + int oldspeed, rval; + int mode = QLA_SET_DATA_RATE_LR; + struct qla_hw_data *ha = vha->hw; + + if (!IS_QLA27XX(vha->hw)) { + ql_log(ql_log_warn, vha, 0x70d8, + "Speed setting not supported \n"); + return -EINVAL; + } + + rval = kstrtol(buf, 10, &type); + speed = type; + if (type == 40 || type == 80 || type == 160 || + type == 320) { + ql_dbg(ql_dbg_user, vha, 0x70d9, + "Setting will be affected after a loss of sync\n"); + type = type/10; + mode = QLA_SET_DATA_RATE_NOLR; + } + + oldspeed = ha->set_data_rate; + + switch (type) { + case 0: + ha->set_data_rate = PORT_SPEED_AUTO; + break; + case 4: + ha->set_data_rate = PORT_SPEED_4GB; + break; + case 8: + ha->set_data_rate = PORT_SPEED_8GB; + break; + case 16: + ha->set_data_rate = PORT_SPEED_16GB; + break; + case 32: + ha->set_data_rate = PORT_SPEED_32GB; + break; + default: + ql_log(ql_log_warn, vha, 0x1199, + "Unrecognized speed setting:%lx. Setting Autoneg\n", + speed); + ha->set_data_rate = PORT_SPEED_AUTO; + } + + if (qla2x00_chip_is_down(vha) || (oldspeed == ha->set_data_rate)) + return -EINVAL; + + ql_log(ql_log_info, vha, 0x70da, + "Setting speed to %lx Gbps \n", type); + + rval = qla2x00_set_data_rate(vha, mode); + if (rval != QLA_SUCCESS) + return -EIO; + + return strlen(buf); +} + +static ssize_t +qla2x00_port_speed_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct scsi_qla_host *vha = shost_priv(dev_to_shost(dev)); + struct qla_hw_data *ha = vha->hw; + ssize_t rval; + char *spd[7] = {"0", "0", "0", "4", "8", "16", "32"}; + + rval = qla2x00_get_data_rate(vha); + if (rval != QLA_SUCCESS) { + ql_log(ql_log_warn, vha, 0x70db, + "Unable to get port speed rval:%zd\n", rval); + return -EINVAL; + } + + ql_log(ql_log_info, vha, 0x70d6, + "port speed:%d\n", ha->link_data_rate); + + return scnprintf(buf, PAGE_SIZE, "%s\n", spd[ha->link_data_rate]); +} + /* ----- */ static ssize_t @@ -2128,6 +2214,8 @@ static DEVICE_ATTR_RW(ql2xexchoffld); static DEVICE_ATTR_RW(ql2xiniexchg); static DEVICE_ATTR(dif_bundle_statistics, 0444, qla2x00_dif_bundle_statistics_show, NULL); +static DEVICE_ATTR(port_speed, 0644, qla2x00_port_speed_show, + qla2x00_port_speed_store); struct device_attribute *qla2x00_host_attrs[] = { @@ -2167,6 +2255,7 @@ struct device_attribute *qla2x00_host_attrs[] = { &dev_attr_max_speed_sup, &dev_attr_zio_threshold, &dev_attr_dif_bundle_statistics, + &dev_attr_port_speed, NULL, /* reserve for qlini_mode */ NULL, /* reserve for ql2xiniexchg */ NULL, /* reserve for ql2xexchoffld */ diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index c256ba7fba84..c0f7593666a1 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -3698,12 +3698,14 @@ struct qla_hw_data { #define PORT_SPEED_UNKNOWN 0xFFFF #define PORT_SPEED_1GB 0x00 #define PORT_SPEED_2GB 0x01 +#define PORT_SPEED_AUTO 0x02 #define PORT_SPEED_4GB 0x03 #define PORT_SPEED_8GB 0x04 #define PORT_SPEED_16GB 0x05 #define PORT_SPEED_32GB 0x06 #define PORT_SPEED_10GB 0x13 uint16_t link_data_rate; /* F/W operating speed */ + uint16_t set_data_rate; /* Set by user */ uint8_t current_topology; uint8_t prev_topology; @@ -4232,6 +4234,10 @@ struct qla_hw_data { #define FW_ABILITY_MAX_SPEED(ha) \ (ha->fw_ability_mask & FW_ABILITY_MAX_SPEED_MASK) +#define QLA_GET_DATA_RATE 0 +#define QLA_SET_DATA_RATE_NOLR 1 +#define QLA_SET_DATA_RATE_LR 2 /* Set speed and initiate LR */ + /* * Qlogic scsi host structure */ diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index bcc17a7261e7..3c59006e64bb 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h @@ -899,5 +899,6 @@ void qlt_update_host_map(struct scsi_qla_host *, port_id_t); void qlt_remove_target_resources(struct qla_hw_data *); void qlt_clr_qp_table(struct scsi_qla_host *vha); void qlt_set_mode(struct scsi_qla_host *); +int qla2x00_set_data_rate(scsi_qla_host_t *vha, uint16_t mode); #endif /* _QLA_GBL_H */ diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index ba5da365ee4a..bb9bccb734f8 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -3880,8 +3880,17 @@ qla24xx_config_rings(struct scsi_qla_host *vha) WRT_REG_DWORD(®->isp24.rsp_q_in, 0); WRT_REG_DWORD(®->isp24.rsp_q_out, 0); } + qlt_24xx_config_rings(vha); + /* If the user has configured the speed, set it here */ + if (ha->set_data_rate) { + ql_dbg(ql_dbg_init, vha, 0x00fd, + "Speed set by user : %s Gbps \n", + qla2x00_get_link_speed_str(ha, ha->set_data_rate)); + icb->firmware_options_3 = (ha->set_data_rate << 13); + } + /* PCI posting */ RD_REG_DWORD(&ioreg->hccr); } diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 6c911f2e4cdb..7ca3b762b2e4 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -5250,6 +5250,66 @@ qla81xx_write_mpi_register(scsi_qla_host_t *vha, uint16_t *mb) return rval; } +/* Set the specified data rate */ +int +qla2x00_set_data_rate(scsi_qla_host_t *vha, uint16_t mode) +{ + int rval; + mbx_cmd_t mc; + mbx_cmd_t *mcp = &mc; + struct qla_hw_data *ha = vha->hw; + uint16_t val; + + ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1106, + "Entered %s speed:0x%x mode:0x%x.\n", __func__, ha->set_data_rate, + mode); + + if (!IS_FWI2_CAPABLE(ha)) + return QLA_FUNCTION_FAILED; + + memset(mcp, 0, sizeof(*mcp)); + switch (ha->set_data_rate) { + case PORT_SPEED_AUTO: + case PORT_SPEED_4GB: + case PORT_SPEED_8GB: + case PORT_SPEED_16GB: + case PORT_SPEED_32GB: + val = ha->set_data_rate; + break; + default: + ql_log(ql_log_warn, vha, 0x1199, + "Unrecognized speed setting:%d. Setting Autoneg\n", + ha->set_data_rate); + val = ha->set_data_rate = PORT_SPEED_AUTO; + break; + } + + mcp->mb[0] = MBC_DATA_RATE; + mcp->mb[1] = mode; + mcp->mb[2] = val; + + mcp->out_mb = MBX_2|MBX_1|MBX_0; + mcp->in_mb = MBX_2|MBX_1|MBX_0; + if (IS_QLA83XX(ha) || IS_QLA27XX(ha)) + mcp->in_mb |= MBX_4|MBX_3; + mcp->tov = MBX_TOV_SECONDS; + mcp->flags = 0; + rval = qla2x00_mailbox_command(vha, mcp); + if (rval != QLA_SUCCESS) { + ql_dbg(ql_dbg_mbx, vha, 0x1107, + "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); + } else { + if (mcp->mb[1] != 0x7) + ql_dbg(ql_dbg_mbx, vha, 0x1179, + "Speed set:0x%x\n", mcp->mb[1]); + + ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1108, + "Done %s.\n", __func__); + } + + return rval; +} + int qla2x00_get_data_rate(scsi_qla_host_t *vha) { @@ -5265,7 +5325,7 @@ qla2x00_get_data_rate(scsi_qla_host_t *vha) return QLA_FUNCTION_FAILED; mcp->mb[0] = MBC_DATA_RATE; - mcp->mb[1] = 0; + mcp->mb[1] = QLA_GET_DATA_RATE; mcp->out_mb = MBX_1|MBX_0; mcp->in_mb = MBX_2|MBX_1|MBX_0; if (IS_QLA83XX(ha) || IS_QLA27XX(ha)) From patchwork Fri Feb 15 22:37:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816071 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B9C1D17E0 for ; Fri, 15 Feb 2019 22:39:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A44FE2FD5E for ; Fri, 15 Feb 2019 22:39:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 98A272FDAC; Fri, 15 Feb 2019 22:39: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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 412132FD5E for ; Fri, 15 Feb 2019 22:39:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392967AbfBOWjY (ORCPT ); Fri, 15 Feb 2019 17:39:24 -0500 Received: from mail-eopbgr770042.outbound.protection.outlook.com ([40.107.77.42]:61133 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2392956AbfBOWjX (ORCPT ); Fri, 15 Feb 2019 17:39:23 -0500 Received: from DM6PR07CA0026.namprd07.prod.outlook.com (2603:10b6:5:94::39) by BL0PR07MB5457.namprd07.prod.outlook.com (2603:10b6:208:37::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 22:38:49 +0000 Received: from BY2NAM05FT019.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::207) by DM6PR07CA0026.outlook.office365.com (2603:10b6:5:94::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:49 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT019.mail.protection.outlook.com (10.152.100.156) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:48 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:46 -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 x1FMbjkQ025503; Fri, 15 Feb 2019 14:37:45 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbj4t025502; Fri, 15 Feb 2019 14:37:45 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 07/11] qla2xxx: Prevent SysFS access when chip is down Date: Fri, 15 Feb 2019 14:37:18 -0800 Message-ID: <20190215223722.25439-8-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439291420298;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(346002)(136003)(39860400002)(376002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(446003)(126002)(2906002)(2616005)(305945005)(86362001)(8936002)(476003)(105606002)(50466002)(76176011)(51416003)(356004)(47776003)(11346002)(1076003)(4326008)(48376002)(6666004)(80596001)(110136005)(54906003)(4744005)(87636003)(42186006)(53936002)(316002)(97736004)(16586007)(36756003)(498600001)(69596002)(81156014)(486006)(106466001)(68736007)(81166006)(50226002)(85426001)(36906005)(26826003)(336012)(8676002)(26005)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR07MB5457;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 502711b5-c2b6-4234-476f-08d693965a72 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BL0PR07MB5457; X-MS-TrafficTypeDiagnostic: BL0PR07MB5457: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB5457;23:x2wSpnvFoezZEKkWBZ/BdV4RDU6BoE378Lv1MqnPQwStlnhDO/9p1pxSkcxPVYi+G/ayi3fYEzYWqLWqhkOJyVD4kikqfIFkYU2GH8H1Ww8p2MLuJPBjXsIHPrld3AWQxWSoaVidG/o+Iy8ezw8YFxDGQDhsU6Yia7gp6TiTO1Gnr0ofgK4lxNnqxLkUsv+ikdAcs4KtbG4eXg91xt57+5hP4NyjB5yCCFta++OCXrhhDK6nDMTO9LiQMmdxECwq/dX20BhM+VvjlZcaG6gKoWqB9tCWNXRH8rRTbagbVg2RehEHcWkMj0EqDAwQk1cfKVvQ86KSGh4eLrzgN7MhEZ4htLHcerDd0OPuXekIV0RknYmRcnruOnhO/O8Ec4GY9B7I41F7b0xEb+GHPnJK8UMuGqOjzxtLtBC4iq2qCeoKsli5ZVl4lXEEp9F8gnEbAGJqs2u2ox1g5uYthuw+lHNg0Lci/bsIDR73mYk0st5sm9SEi8uPGY6ivc2tT7h1YRwBVfSHHZLxewt9rwCOXf/Cb5am+m9IceJJ0zQYAvdfgKwcM7HzNYmCwk+hePzSgGPKNnyIkzASNryXFVsQxjznwF3msuglfVEK0IR8T0r7y/t6FDIAkpXIIjY+3a0qwSGRTxGiVUAgkg+oDt2qdfgqgzP2XR3Kc7EcuCpMqpLRx2c5R/ITg+pjFfM0EKt7EkeFxR3zwa5BUoxtkTtEzizMMe/tSZcf0IKrJmaDb/9AxCP1bSltTwtoY7PyTW8G2pwok9vwA4JhdhnCX02YUOFIp1eCbMMEyQDhHDyY2bFSk5RnFm7uBl/2CLhtZs+dzZreHZqX9ozhPJAShpeV7b8fLcEh7g+KJ95GvbmPEJU/jKBT8u5gtlKUuJHzDFVNsRN/u5XN7Jx2AfsE4osOlxNxvsnP4Y+V38hFc4jX/hnxUbdgPz3uXCcUBvRzu6vu8dwbZWQg7nMR61d1as56t62Xg1MNcXAs56jh7c56DGKXaNegocy/nUtYYyA/ovoMwJ4hWY1jPZWUDE83X5T5WwYopjHOeNdbWpp9gtKWPdMQ7HdR7DBhrQlgfp91bwXmiVgP+lMet02Ug/PyHYySmYPVp/tl7+6x4KrhSHLioUgMMzARcnLX6hD2xJ4fysV1KmKo9NGEnNStXMd/OgsLifGRrkb8q4VIOchXJbQXocpsDBatn7EKr457Buq9XFKnXEE4nnWQd23Fw9FfvnfHLgiCDcZRqWvbZGpXkKxv+1E= X-Microsoft-Antispam-Message-Info: ZBnig7kn/djo2MyyWyAjhq2nURjl/yW7F46jQnZ+jHvEn8ckJO/HOSJQxibP+MGEI/PZeoOxIj6WE8yY3w7vz8fb49vig0FvqLepy55rgI2jckvoo9tyKXLxPa5pXRz5zPzVJhOURgcfvc1iaNdZHzwC28E4/jMbeQVNBKQJ6LYlA5LhEEbEKGWKYrUQfXtNZOlNNOY3XMgGBM20GdGA2YS0/D1uLNe1YlZ7KQZ1Q6bUc/3k0aF9GR/ZswW8YJPy9nD41yDhPEVdiKmdin89jFmqeRpDuA3nZvfWOTtIiIcW3LO70OERzeEaevgp34811N2m0r9eTaZWcF6hzUsUGRRBoWNJru4M7QjYRXaCtUS5R85MtdYymcQE4jLekE0dwAFBM1PSpAQvZyPjKhojIl8Md7wElZpZPcQ+kvVA4/s= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:48.8798 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 502711b5-c2b6-4234-476f-08d693965a72 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB5457 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 Prevent user from sending commands through SysFS while FW is not running or reset is in progress. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_attr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index ee9f943f4d07..f8fd482a06e0 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c @@ -543,6 +543,9 @@ qla2x00_sysfs_write_vpd(struct file *filp, struct kobject *kobj, if (unlikely(pci_channel_offline(ha->pdev))) return 0; + if (qla2x00_chip_is_down(vha)) + return 0; + if (!capable(CAP_SYS_ADMIN) || off != 0 || count != ha->vpd_size || !ha->isp_ops->write_nvram) return 0; From patchwork Fri Feb 15 22:37:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816063 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0C98E1390 for ; Fri, 15 Feb 2019 22:39:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EE9F02ECA8 for ; Fri, 15 Feb 2019 22:39:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E25B22ED70; Fri, 15 Feb 2019 22:39:03 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 EA7B32ECA8 for ; Fri, 15 Feb 2019 22:39:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392391AbfBOWjC (ORCPT ); Fri, 15 Feb 2019 17:39:02 -0500 Received: from mail-eopbgr710062.outbound.protection.outlook.com ([40.107.71.62]:42311 "EHLO NAM05-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2391999AbfBOWjC (ORCPT ); Fri, 15 Feb 2019 17:39:02 -0500 Received: from CO2PR07CA0045.namprd07.prod.outlook.com (2603:10b6:100::13) by BN6PR07MB2900.namprd07.prod.outlook.com (2603:10b6:404:3f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Fri, 15 Feb 2019 22:38:55 +0000 Received: from BY2NAM05FT032.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::203) 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.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:54 +0000 Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT032.mail.protection.outlook.com (10.152.100.169) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:53 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:50 -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 x1FMbm52025507; Fri, 15 Feb 2019 14:37:48 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbm2k025506; Fri, 15 Feb 2019 14:37:48 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 08/11] qla2xxx: Move marker request behind QPair Date: Fri, 15 Feb 2019 14:37:19 -0800 Message-ID: <20190215223722.25439-9-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439344053557;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(346002)(376002)(136003)(396003)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(11346002)(6346003)(5660300002)(105606002)(336012)(316002)(36906005)(47776003)(42186006)(80596001)(16586007)(54906003)(69596002)(110136005)(2906002)(14444005)(26005)(50226002)(4326008)(53936002)(50466002)(51416003)(36756003)(76176011)(48376002)(498600001)(2616005)(446003)(106466001)(26826003)(1076003)(81166006)(8676002)(87636003)(126002)(86362001)(81156014)(305945005)(356004)(30864003)(6666004)(68736007)(8936002)(97736004)(486006)(476003);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR07MB2900;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cbf6e3ab-458f-4a10-8842-08d693965d83 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BN6PR07MB2900; X-MS-TrafficTypeDiagnostic: BN6PR07MB2900: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BN6PR07MB2900;23:ejpqbAoL3839lnh0Cgb2zA9UHs0e2yJVyN8MSVBe+sqTAuGQjs8OSQ8delucH7gAtn2kI9vBRGCEDxvRcNnPdDd64GH07+lvsU0dMciyy7MHUQ0ZsFw+bV0v61G2XMK0KUB4ruHqgwovqeWKmVsn2hXoknOSOLmhlu4VfF4t0zPcGmRBlfsBInwqLIRrGSOvpDtIu2ihgBZGR1hbEkjkFgTcOx2SjJ8RifsgqtyE6ZvVaPlc9F7PIlYbKKiV/kf3TQUHQ/CIKsV4yHoPqLkuLMHXlV+wcEh/ViMvoZn0bo235P8IbahpyMYJDSikRw+tvgo4Qs1WWfXAu7F4rim27F5teBrb5mXyf8HelqJt+tOSCt23mXTN34uUmsTjy5nTSUyMny08nWMTqUIxpdEj5a5VD6PwW0wl72W86MRm6SG0TvGCRRFg2ssJijLxuFpVRitEjXH66zqXwvHGtfhOMHkZ6R6dJb9UCBhISYZwysXcnTxRFpMvhpz1PzZTAOL6ADmAPcQru5iJ0pgJCRJ5kgFAAehORpxuZCyTg3f1PT99m1p2V7IG+TgDkfYbRydjcdpk7P9KUBEMzClHgBKKW4Ak3LPd2eOVeileJMhUKu3LxzpdcUzh16GtbcaEEg/oTV85RhHQVCnjGRZeZfo2Uz6VrWNyei3+xqe5g9h63Uly0tIMJoEMNoI5aLLJMij68nawHHdbLQzRvsGF7J4i7U5UNeAJ43fmtVdVwYBydHFqNqnczVn/NU9mAuO7lm75JIvC4KBnpv++Pxm5ompvICYuSIbCudfz9/pRw/BjuyEZvPSaYp88DCNSH8p+xBZD7bIThM7GdhvhVQILlD7yW/X521ouK20PhPjP8/fIJKhLu/daULxLa5fbyOjmF+7eQG3uS9Uykqi7HHyK6vHEwVyV0LVsThRaq/xc2KszEKm9qxcyWII1jjARhLLVtmBMAVTNXBKSvEPVb4qQYVfdaFJL8lS5rxVW0wYoiyNQbhk8wFl9mFXfgqXXhXB+bOyt8hfzSQVA3qCVyuPSd5UwyIH5HN7nDFCLoagXXjX2jyl0ZuasvW3fp275bCrPpAg4OxKs40dvZFiWsx3P/lw8hOicyEW4XoOWKuvHi8L2ttWhKUpVTF7mjjfIvPZt47VlidNpr+pUhXvnIXAmRRnmexo0RG3XbsUXF4f6IwqD2Al20Iv0KYxzcc1lfHUWplTTJRnBnzLk3GKmfL093jRS8ihqh5T9oxRQLLY1/y9I4qaORsncmxws5BQzX9iiatfJ X-Microsoft-Antispam-Message-Info: C8QBAZf0kNjxRcAJBoK1g5S5daF+PayT8pEoA8/mI03ab7+FvBqD6UrNi3fTI5XALsIRhnOI02255C30ToqIR/nN5y3Uopvm5fU/UZEN6xHCZOqYLzJoFWb2EN0EjSiCqePMuE9j65Tclqw5aEXUKAv6jDXzarFjyqHIp28fL7WhsuOk8Ms8O57tsr7wHWp1cMeEQPECXhZKMki6vzhocf9kGeZLkUcMnzXmvNiXkijahu5Fr7NaFJg2vCw0g1MDgNlG/QJxBWdXtvckE3GH2EsnazlohNRwc7eWzjVnl4ixOLJZre/BL6+9sI6199VKdBbLNh36ZkHA5pv93F+KuIZ3aB0iSHwtG03CAjfe8asKbP0MSp6/YoBt4pqJPTyeqmWNp9W27rmKG4QXeaakV7tu/8kz4P3Z2F+dcmSEErk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:53.9770 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cbf6e3ab-458f-4a10-8842-08d693965d83 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB2900 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 current code hard code marker request to use request and response queue 0. This patch make use of the qpair as the path to access the request/response queues. It allows marker to be place on any hardware queues. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_gbl.h | 4 ++-- drivers/scsi/qla2xxx/qla_init.c | 30 ++++++------------------- drivers/scsi/qla2xxx/qla_iocb.c | 50 +++++++++++++++++------------------------ drivers/scsi/qla2xxx/qla_mbx.c | 18 +++------------ 4 files changed, 33 insertions(+), 69 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 3c59006e64bb..4eefe69ca807 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h @@ -270,8 +270,8 @@ extern void qla24xx_build_scsi_iocbs(srb_t *, struct cmd_type_7 *, uint16_t, struct req_que *); extern int qla2x00_start_scsi(srb_t *sp); extern int qla24xx_start_scsi(srb_t *sp); -int qla2x00_marker(struct scsi_qla_host *, struct req_que *, struct rsp_que *, - uint16_t, uint64_t, uint8_t); +int qla2x00_marker(struct scsi_qla_host *, struct qla_qpair *, + uint16_t, uint64_t, uint8_t); extern int qla2x00_start_sp(srb_t *); extern int qla24xx_dif_start_scsi(srb_t *); extern int qla2x00_start_bidir(srb_t *, struct scsi_qla_host *, uint32_t); diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index bb9bccb734f8..a95915881c87 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -1703,8 +1703,8 @@ qla2x00_async_tm_cmd(fc_port_t *fcport, uint32_t flags, uint32_t lun, lun = (uint16_t)tm_iocb->u.tmf.lun; /* Issue Marker IOCB */ - qla2x00_marker(vha, vha->hw->req_q_map[0], - vha->hw->rsp_q_map[0], sp->fcport->loop_id, lun, + qla2x00_marker(vha, vha->hw->base_qpair, + sp->fcport->loop_id, lun, flags == TCF_LUN_RESET ? MK_SYNC_ID_LUN : MK_SYNC_ID); } @@ -6039,11 +6039,6 @@ qla2x00_loop_resync(scsi_qla_host_t *vha) { int rval = QLA_SUCCESS; uint32_t wait_time; - struct req_que *req; - struct rsp_que *rsp; - - req = vha->req; - rsp = req->rsp; clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags); if (vha->flags.online) { @@ -6056,8 +6051,8 @@ qla2x00_loop_resync(scsi_qla_host_t *vha) * Issue a marker after FW becomes * ready. */ - qla2x00_marker(vha, req, rsp, 0, 0, - MK_SYNC_ALL); + qla2x00_marker(vha, vha->hw->base_qpair, + 0, 0, MK_SYNC_ALL); vha->marker_needed = 0; } @@ -6795,8 +6790,6 @@ qla2x00_restart_isp(scsi_qla_host_t *vha) { int status = 0; struct qla_hw_data *ha = vha->hw; - struct req_que *req = ha->req_q_map[0]; - struct rsp_que *rsp = ha->rsp_q_map[0]; /* If firmware needs to be loaded */ if (qla2x00_isp_firmware(vha)) { @@ -6816,7 +6809,7 @@ qla2x00_restart_isp(scsi_qla_host_t *vha) status = qla2x00_fw_ready(vha); if (!status) { /* Issue a marker after FW becomes ready. */ - qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL); + qla2x00_marker(vha, ha->base_qpair, 0, 0, MK_SYNC_ALL); set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); } @@ -7871,22 +7864,15 @@ qla24xx_configure_vhba(scsi_qla_host_t *vha) uint16_t mb[MAILBOX_REGISTER_COUNT]; struct qla_hw_data *ha = vha->hw; struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); - struct req_que *req; - struct rsp_que *rsp; if (!vha->vp_idx) return -EINVAL; rval = qla2x00_fw_ready(base_vha); - if (vha->qpair) - req = vha->qpair->req; - else - req = ha->req_q_map[0]; - rsp = req->rsp; if (rval == QLA_SUCCESS) { clear_bit(RESET_MARKER_NEEDED, &vha->dpc_flags); - qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL); + qla2x00_marker(vha, ha->base_qpair, 0, 0, MK_SYNC_ALL); } vha->flags.management_server_logged_in = 0; @@ -8278,8 +8264,6 @@ qla82xx_restart_isp(scsi_qla_host_t *vha) { int status, rval; struct qla_hw_data *ha = vha->hw; - struct req_que *req = ha->req_q_map[0]; - struct rsp_que *rsp = ha->rsp_q_map[0]; struct scsi_qla_host *vp; unsigned long flags; @@ -8291,7 +8275,7 @@ qla82xx_restart_isp(scsi_qla_host_t *vha) status = qla2x00_fw_ready(vha); if (!status) { /* Issue a marker after FW becomes ready. */ - qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL); + qla2x00_marker(vha, ha->base_qpair, 0, 0, MK_SYNC_ALL); vha->flags.online = 1; set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); } diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index cdac282b5bd3..63f8e3c19841 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c @@ -336,7 +336,7 @@ qla2x00_start_scsi(srb_t *sp) /* Send marker if required */ if (vha->marker_needed != 0) { - if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != + if (qla2x00_marker(vha, ha->base_qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) { return (QLA_FUNCTION_FAILED); } @@ -490,8 +490,7 @@ qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req) /** * qla2x00_marker() - Send a marker IOCB to the firmware. * @vha: HA context - * @req: request queue - * @rsp: response queue + * @qpair: queue pair pointer * @loop_id: loop ID * @lun: LUN * @type: marker modifier @@ -501,18 +500,16 @@ qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req) * Returns non-zero if a failure occurred, else zero. */ static int -__qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, - struct rsp_que *rsp, uint16_t loop_id, - uint64_t lun, uint8_t type) +__qla2x00_marker(struct scsi_qla_host *vha, struct qla_qpair *qpair, + uint16_t loop_id, uint64_t lun, uint8_t type) { mrk_entry_t *mrk; struct mrk_entry_24xx *mrk24 = NULL; - + struct req_que *req = qpair->req; struct qla_hw_data *ha = vha->hw; scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); - req = ha->req_q_map[0]; - mrk = (mrk_entry_t *)qla2x00_alloc_iocbs(vha, NULL); + mrk = (mrk_entry_t *)__qla2x00_alloc_iocbs(qpair, NULL); if (mrk == NULL) { ql_log(ql_log_warn, base_vha, 0x3026, "Failed to allocate Marker IOCB.\n"); @@ -543,16 +540,15 @@ __qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, } int -qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, - struct rsp_que *rsp, uint16_t loop_id, uint64_t lun, - uint8_t type) +qla2x00_marker(struct scsi_qla_host *vha, struct qla_qpair *qpair, + uint16_t loop_id, uint64_t lun, uint8_t type) { int ret; unsigned long flags = 0; - spin_lock_irqsave(&vha->hw->hardware_lock, flags); - ret = __qla2x00_marker(vha, req, rsp, loop_id, lun, type); - spin_unlock_irqrestore(&vha->hw->hardware_lock, flags); + spin_lock_irqsave(qpair->qp_lock_ptr, flags); + ret = __qla2x00_marker(vha, qpair, loop_id, lun, type); + spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); return (ret); } @@ -567,11 +563,11 @@ qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, int qla2x00_issue_marker(scsi_qla_host_t *vha, int ha_locked) { if (ha_locked) { - if (__qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, + if (__qla2x00_marker(vha, vha->hw->base_qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) return QLA_FUNCTION_FAILED; } else { - if (qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, + if (qla2x00_marker(vha, vha->hw->base_qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) return QLA_FUNCTION_FAILED; } @@ -1627,21 +1623,19 @@ qla24xx_start_scsi(srb_t *sp) uint16_t req_cnt; uint16_t tot_dsds; struct req_que *req = NULL; - struct rsp_que *rsp = NULL; struct scsi_cmnd *cmd = GET_CMD_SP(sp); struct scsi_qla_host *vha = sp->vha; struct qla_hw_data *ha = vha->hw; /* Setup device pointers. */ req = vha->req; - rsp = req->rsp; /* So we know we haven't pci_map'ed anything yet */ tot_dsds = 0; /* Send marker if required */ if (vha->marker_needed != 0) { - if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != + if (qla2x00_marker(vha, ha->base_qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) return QLA_FUNCTION_FAILED; vha->marker_needed = 0; @@ -1794,7 +1788,7 @@ qla24xx_dif_start_scsi(srb_t *sp) /* Send marker if required */ if (vha->marker_needed != 0) { - if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != + if (qla2x00_marker(vha, ha->base_qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) return QLA_FUNCTION_FAILED; vha->marker_needed = 0; @@ -1965,7 +1959,6 @@ qla2xxx_start_scsi_mq(srb_t *sp) uint16_t req_cnt; uint16_t tot_dsds; struct req_que *req = NULL; - struct rsp_que *rsp = NULL; struct scsi_cmnd *cmd = GET_CMD_SP(sp); struct scsi_qla_host *vha = sp->fcport->vha; struct qla_hw_data *ha = vha->hw; @@ -1975,7 +1968,6 @@ qla2xxx_start_scsi_mq(srb_t *sp) spin_lock_irqsave(&qpair->qp_lock, flags); /* Setup qpair pointers */ - rsp = qpair->rsp; req = qpair->req; /* So we know we haven't pci_map'ed anything yet */ @@ -1983,7 +1975,7 @@ qla2xxx_start_scsi_mq(srb_t *sp) /* Send marker if required */ if (vha->marker_needed != 0) { - if (__qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != + if (__qla2x00_marker(vha, qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) { spin_unlock_irqrestore(&qpair->qp_lock, flags); return QLA_FUNCTION_FAILED; @@ -2151,7 +2143,7 @@ qla2xxx_dif_start_scsi_mq(srb_t *sp) /* Send marker if required */ if (vha->marker_needed != 0) { - if (__qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != + if (__qla2x00_marker(vha, qpair, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) { spin_unlock_irqrestore(&qpair->qp_lock, flags); return QLA_FUNCTION_FAILED; @@ -3205,8 +3197,8 @@ qla82xx_start_scsi(srb_t *sp) /* Send marker if required */ if (vha->marker_needed != 0) { - if (qla2x00_marker(vha, req, - rsp, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) { + if (qla2x00_marker(vha, ha->base_qpair, + 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) { ql_log(ql_log_warn, vha, 0x300c, "qla2x00_marker failed for cmd=%p.\n", cmd); return QLA_FUNCTION_FAILED; @@ -3859,8 +3851,8 @@ qla2x00_start_bidir(srb_t *sp, struct scsi_qla_host *vha, uint32_t tot_dsds) /* Send marker if required */ if (vha->marker_needed != 0) { - if (qla2x00_marker(vha, req, - rsp, 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) + if (qla2x00_marker(vha, ha->base_qpair, + 0, 0, MK_SYNC_ALL) != QLA_SUCCESS) return EXT_STATUS_MAILBOX; vha->marker_needed = 0; } diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 7ca3b762b2e4..5400696e1f6b 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -1513,16 +1513,12 @@ qla2x00_abort_target(struct fc_port *fcport, uint64_t l, int tag) mbx_cmd_t mc; mbx_cmd_t *mcp = &mc; scsi_qla_host_t *vha; - struct req_que *req; - struct rsp_que *rsp; vha = fcport->vha; ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103e, "Entered %s.\n", __func__); - req = vha->hw->req_q_map[0]; - rsp = req->rsp; mcp->mb[0] = MBC_ABORT_TARGET; mcp->out_mb = MBX_9|MBX_2|MBX_1|MBX_0; if (HAS_EXTENDED_IDS(vha->hw)) { @@ -1545,7 +1541,7 @@ qla2x00_abort_target(struct fc_port *fcport, uint64_t l, int tag) } /* Issue marker IOCB. */ - rval2 = qla2x00_marker(vha, req, rsp, fcport->loop_id, 0, + rval2 = qla2x00_marker(vha, vha->hw->base_qpair, fcport->loop_id, 0, MK_SYNC_ID); if (rval2 != QLA_SUCCESS) { ql_dbg(ql_dbg_mbx, vha, 0x1040, @@ -1565,16 +1561,12 @@ qla2x00_lun_reset(struct fc_port *fcport, uint64_t l, int tag) mbx_cmd_t mc; mbx_cmd_t *mcp = &mc; scsi_qla_host_t *vha; - struct req_que *req; - struct rsp_que *rsp; vha = fcport->vha; ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1042, "Entered %s.\n", __func__); - req = vha->hw->req_q_map[0]; - rsp = req->rsp; mcp->mb[0] = MBC_LUN_RESET; mcp->out_mb = MBX_9|MBX_3|MBX_2|MBX_1|MBX_0; if (HAS_EXTENDED_IDS(vha->hw)) @@ -1594,7 +1586,7 @@ qla2x00_lun_reset(struct fc_port *fcport, uint64_t l, int tag) } /* Issue marker IOCB. */ - rval2 = qla2x00_marker(vha, req, rsp, fcport->loop_id, l, + rval2 = qla2x00_marker(vha, vha->hw->base_qpair, fcport->loop_id, l, MK_SYNC_ID_LUN); if (rval2 != QLA_SUCCESS) { ql_dbg(ql_dbg_mbx, vha, 0x1044, @@ -3186,7 +3178,6 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, scsi_qla_host_t *vha; struct qla_hw_data *ha; struct req_que *req; - struct rsp_que *rsp; struct qla_qpair *qpair; vha = fcport->vha; @@ -3199,10 +3190,7 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, if (vha->vp_idx && vha->qpair) { /* NPIV port */ qpair = vha->qpair; - rsp = qpair->rsp; req = qpair->req; - } else { - rsp = req->rsp; } tsk = dma_pool_zalloc(ha->s_dma_pool, GFP_KERNEL, &tsk_dma); @@ -3259,7 +3247,7 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, } /* Issue marker IOCB. */ - rval2 = qla2x00_marker(vha, req, rsp, fcport->loop_id, l, + rval2 = qla2x00_marker(vha, ha->base_qpair, fcport->loop_id, l, type == TCF_LUN_RESET ? MK_SYNC_ID_LUN: MK_SYNC_ID); if (rval2 != QLA_SUCCESS) { ql_dbg(ql_dbg_mbx, vha, 0x1099, From patchwork Fri Feb 15 22:37:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816065 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6C4C1575 for ; Fri, 15 Feb 2019 22:39:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B371F2ECA8 for ; Fri, 15 Feb 2019 22:39:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A76692ED70; Fri, 15 Feb 2019 22:39:04 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 3CA8A2ECA8 for ; Fri, 15 Feb 2019 22:39:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391991AbfBOWjD (ORCPT ); Fri, 15 Feb 2019 17:39:03 -0500 Received: from mail-eopbgr710055.outbound.protection.outlook.com ([40.107.71.55]:34528 "EHLO NAM05-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2392244AbfBOWjD (ORCPT ); Fri, 15 Feb 2019 17:39:03 -0500 Received: from DM5PR07CA0036.namprd07.prod.outlook.com (2603:10b6:3:16::22) by BN6PR07MB2898.namprd07.prod.outlook.com (2603:10b6:404:42::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.22; Fri, 15 Feb 2019 22:39:00 +0000 Received: from BY2NAM05FT058.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::203) by DM5PR07CA0036.outlook.office365.com (2603:10b6:3:16::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:39:00 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT058.mail.protection.outlook.com (10.152.100.195) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:59 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:53 -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 x1FMbpqP025511; Fri, 15 Feb 2019 14:37:51 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbp3J025510; Fri, 15 Feb 2019 14:37:51 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 09/11] qla2xxx: Fix code indentation for qla27xx_fwdt_entry Date: Fri, 15 Feb 2019 14:37:20 -0800 Message-ID: <20190215223722.25439-10-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439401983047;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(136003)(396003)(376002)(346002)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(54906003)(26826003)(47776003)(305945005)(76176011)(51416003)(85426001)(356004)(81156014)(80596001)(87636003)(498600001)(50226002)(97736004)(5660300002)(69596002)(6666004)(8676002)(36756003)(81166006)(8936002)(106466001)(86362001)(68736007)(316002)(110136005)(105606002)(26005)(336012)(476003)(486006)(48376002)(42186006)(53936002)(126002)(50466002)(446003)(36906005)(4326008)(11346002)(2616005)(2906002)(1076003)(16586007);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR07MB2898;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;A:1;MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d6e0fdf4-a28f-4ca6-66fb-08d69396610a X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BN6PR07MB2898; X-MS-TrafficTypeDiagnostic: BN6PR07MB2898: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BN6PR07MB2898;23:jhy+SxxIeXjvNVH5y/YO0/uM3fBB+g6lBuQwuCRusML1sAGQvXFodq1nlo37YDtN6Xmar966S2uHZOEAkMfOguzH+x2EtRGgAaN2WI7H8IViz/PkCvdIIYiTDqByeljaAVVOp8Idg+qepoRxcWEXw/P6w1iZoxu4yYvfgdx22JmN4vhxwtMSruy6ZA+J+YL1T779A1dpam/JR2v3pXxXS6K/PAcRJTZmqUO11H1LyibLdeWpY5CNmm1KcWjFClH1dwSq2h8lUClyUsRSJxsVqAopHIXG7bJShPV3zEF0Npv8hcEzTYKLs6zunmRJgGSL+zgFuS5Lkv7XQdduaBl+aVVrpuiCW97Ppa6dg5Dnx/KTNB+yNKzR1XSev14jIHpukewyV61SEThisfUDLMrIR/JVa/dG+YLKnnFjUewd/sbSbPOvbqfcsHkKwqPCpPHdJG6Rjrk45bvvfQHLQ/7GQ0rxmQaojhSPc6SsXk8NQJoqpFEpg4a6PEF2Pm1sXqANhzoJ8dVDtjWD9GU4QewnWABgpGxHyu39R5DElg6MjzYb1zc02KHcYqSu2uhiDE5sjFwP26TvmSZ7fs4ODcaBdyEGT8m72gJXrUJDgWzRvatSf5MQv8M2WSwNy/UdTHd9CIniSVX5WUQEN/Sa0QZPS7TobuGL4EGb6w4W5WqT20LT1dRIJ4yygud24wVqj1CU/hyIdQUFjsTTGnCpk/WkgGu3yYlbFNWLkYXkzLk31gdV9DkNikGHP/U3jsIrs2PaS3GmYZ/ln9Ljph+wxU2IunHinueGXPp5huNEszy5okrE2mHzb5VUhgihuoCtt3cpvnf4SnIZcPSvLzwi4yeahC05luGHAkXJkBJq0s/lIM3g1//qV07e5+4JGoPMvCcA/fehvV/JAT5AO0cPV0yATcq0LJb2KbEkOt1zZP5W5TBYVf1lGVowyG6cGSEKRZWXmaX3YlUoYb5h4GuFQPAMqz9yw4XTHVUYgkfapV3B12RKs4ruV3xzyk02OicWsPJ4phosL04tFyu9gFKJgTu4Ld460DrGtpBD9rIPqOzXFQmH7tnGpwNc3N/x3SNl2lY9H7ipKD9jnvmxVEMWZdJtPYSxSrZ5E4K6vSkZwxsyalq/oakOQOi3/mh/q2cZ/xi9MMjqSuKVhNsI4zrt4OLfc2ESOnr16T61OyMKYkF8qyQadNzbwXYRbxE9a3rhANTQ+XkQiTu4cA1uizTq5qRmwg== X-Microsoft-Antispam-Message-Info: 6bJ73SiPbqSpjhg1MHtJiy8QSo+ZiunsUmn9rkWbEbXhr6kxGlpV6iy/cXoNRJpf7cb/Rs2VUQQQSVYfJ3SK5ONzXOt0jN31tAJfx79yqbgMf7SaF2V69ZjysWZvHzoig8pwthnpPleCTwoyOYd2b0kKVANiaKIktArZ0LjMPNqHPzcV+Sqn0l0zLfSNKXg0Uw/87gPAa8hpBXSgpr/hZO2PT5Uj3iYojgO4IvmiWWlc0GlZHfQuMwDRFVwU5PkY6iJ5xDbn/blmJ+TbN0DMtCtv7JFiu/TG7bXzUi+vhGqBasyPhFhuDpbM+9VvNocH6wiH8T2ylVgaCCh2pd3EzaBOFU9fLvZ3al0WMF8GV1y1EzG5algh5ytNrx8QxKB6pHJSvKdrSz4bmhHt62bg9NCgUf4uQo582Mg/P1IXLco= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:59.9330 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d6e0fdf4-a28f-4ca6-66fb-08d69396610a X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB2898 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 This patch fixes following checkpatch ERROR ERROR: space prohibited before that ',' (ctx:WxW) No change is functionality due to this patch. Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_tmpl.c | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_tmpl.c b/drivers/scsi/qla2xxx/qla_tmpl.c index 0ccd06f11f12..f0c7c0c75ef7 100644 --- a/drivers/scsi/qla2xxx/qla_tmpl.c +++ b/drivers/scsi/qla2xxx/qla_tmpl.c @@ -796,29 +796,29 @@ struct qla27xx_fwdt_entry_call { }; static struct qla27xx_fwdt_entry_call ql27xx_fwdt_entry_call_list[] = { - { ENTRY_TYPE_NOP , qla27xx_fwdt_entry_t0 } , - { ENTRY_TYPE_TMP_END , qla27xx_fwdt_entry_t255 } , - { ENTRY_TYPE_RD_IOB_T1 , qla27xx_fwdt_entry_t256 } , - { ENTRY_TYPE_WR_IOB_T1 , qla27xx_fwdt_entry_t257 } , - { ENTRY_TYPE_RD_IOB_T2 , qla27xx_fwdt_entry_t258 } , - { ENTRY_TYPE_WR_IOB_T2 , qla27xx_fwdt_entry_t259 } , - { ENTRY_TYPE_RD_PCI , qla27xx_fwdt_entry_t260 } , - { ENTRY_TYPE_WR_PCI , qla27xx_fwdt_entry_t261 } , - { ENTRY_TYPE_RD_RAM , qla27xx_fwdt_entry_t262 } , - { ENTRY_TYPE_GET_QUEUE , qla27xx_fwdt_entry_t263 } , - { ENTRY_TYPE_GET_FCE , qla27xx_fwdt_entry_t264 } , - { ENTRY_TYPE_PSE_RISC , qla27xx_fwdt_entry_t265 } , - { ENTRY_TYPE_RST_RISC , qla27xx_fwdt_entry_t266 } , - { ENTRY_TYPE_DIS_INTR , qla27xx_fwdt_entry_t267 } , - { ENTRY_TYPE_GET_HBUF , qla27xx_fwdt_entry_t268 } , - { ENTRY_TYPE_SCRATCH , qla27xx_fwdt_entry_t269 } , - { ENTRY_TYPE_RDREMREG , qla27xx_fwdt_entry_t270 } , - { ENTRY_TYPE_WRREMREG , qla27xx_fwdt_entry_t271 } , - { ENTRY_TYPE_RDREMRAM , qla27xx_fwdt_entry_t272 } , - { ENTRY_TYPE_PCICFG , qla27xx_fwdt_entry_t273 } , - { ENTRY_TYPE_GET_SHADOW , qla27xx_fwdt_entry_t274 } , - { ENTRY_TYPE_WRITE_BUF , qla27xx_fwdt_entry_t275 } , - { -1 , qla27xx_fwdt_entry_other } + { ENTRY_TYPE_NOP, qla27xx_fwdt_entry_t0 }, + { ENTRY_TYPE_TMP_END, qla27xx_fwdt_entry_t255 }, + { ENTRY_TYPE_RD_IOB_T1, qla27xx_fwdt_entry_t256 }, + { ENTRY_TYPE_WR_IOB_T1, qla27xx_fwdt_entry_t257 }, + { ENTRY_TYPE_RD_IOB_T2, qla27xx_fwdt_entry_t258 }, + { ENTRY_TYPE_WR_IOB_T2, qla27xx_fwdt_entry_t259 }, + { ENTRY_TYPE_RD_PCI, qla27xx_fwdt_entry_t260 }, + { ENTRY_TYPE_WR_PCI, qla27xx_fwdt_entry_t261 }, + { ENTRY_TYPE_RD_RAM, qla27xx_fwdt_entry_t262 }, + { ENTRY_TYPE_GET_QUEUE, qla27xx_fwdt_entry_t263 }, + { ENTRY_TYPE_GET_FCE, qla27xx_fwdt_entry_t264 }, + { ENTRY_TYPE_PSE_RISC, qla27xx_fwdt_entry_t265 }, + { ENTRY_TYPE_RST_RISC, qla27xx_fwdt_entry_t266 }, + { ENTRY_TYPE_DIS_INTR, qla27xx_fwdt_entry_t267 }, + { ENTRY_TYPE_GET_HBUF, qla27xx_fwdt_entry_t268 }, + { ENTRY_TYPE_SCRATCH, qla27xx_fwdt_entry_t269 }, + { ENTRY_TYPE_RDREMREG, qla27xx_fwdt_entry_t270 }, + { ENTRY_TYPE_WRREMREG, qla27xx_fwdt_entry_t271 }, + { ENTRY_TYPE_RDREMRAM, qla27xx_fwdt_entry_t272 }, + { ENTRY_TYPE_PCICFG, qla27xx_fwdt_entry_t273 }, + { ENTRY_TYPE_GET_SHADOW, qla27xx_fwdt_entry_t274 }, + { ENTRY_TYPE_WRITE_BUF, qla27xx_fwdt_entry_t275 }, + { -1, qla27xx_fwdt_entry_other } }; static inline int (*qla27xx_find_entry(uint type)) From patchwork Fri Feb 15 22:37:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816067 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D37F81575 for ; Fri, 15 Feb 2019 22:39:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C11D72ECA8 for ; Fri, 15 Feb 2019 22:39:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B489A2ED70; Fri, 15 Feb 2019 22:39:11 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 9F84D2ECA8 for ; Fri, 15 Feb 2019 22:39:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392936AbfBOWjJ (ORCPT ); Fri, 15 Feb 2019 17:39:09 -0500 Received: from mail-eopbgr750041.outbound.protection.outlook.com ([40.107.75.41]:1568 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2391999AbfBOWjJ (ORCPT ); Fri, 15 Feb 2019 17:39:09 -0500 Received: from DM5PR07CA0030.namprd07.prod.outlook.com (2603:10b6:3:16::16) by BLUPR0701MB1922.namprd07.prod.outlook.com (2a01:111:e400:5164::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 22:39:01 +0000 Received: from BY2NAM05FT058.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::208) by DM5PR07CA0030.outlook.office365.com (2603:10b6:3:16::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:39:01 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT058.mail.protection.outlook.com (10.152.100.195) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:39:00 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:53 -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 x1FMbqEN025515; Fri, 15 Feb 2019 14:37:52 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbqWj025514; Fri, 15 Feb 2019 14:37:52 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 10/11] qla2xxx: Add new FW dump template entry types Date: Fri, 15 Feb 2019 14:37:21 -0800 Message-ID: <20190215223722.25439-11-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439411740973;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(136003)(346002)(376002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(1076003)(26826003)(68736007)(2906002)(85426001)(50226002)(106466001)(97736004)(336012)(86362001)(105606002)(26005)(53936002)(48376002)(36906005)(50466002)(81166006)(81156014)(316002)(110136005)(54906003)(42186006)(16586007)(8936002)(476003)(2616005)(446003)(51416003)(11346002)(486006)(305945005)(126002)(8676002)(498600001)(87636003)(47776003)(76176011)(6666004)(356004)(4326008)(69596002)(30864003)(80596001)(36756003)(14444005)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR0701MB1922;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;MX:1;A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5e2b8770-4a94-4397-4be7-08d69396619f X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:BLUPR0701MB1922; X-MS-TrafficTypeDiagnostic: BLUPR0701MB1922: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1922;23:04GN4UYTkEE56ulL1VXd+GaZgI9uHs12IIs2jmvKqoVmQlNt6WL9Ndc0m23Rho1SxfaXm2y2ZB7TMWTQKq5DydQf21FSCGbTOIne+MwvHKgwRage8P8EbtVUMT3hJt0Pv+uUx4Reo9Kx6dWB8Pb1V1rqIf5OsCgY+zBKOFGIBeB/0QyS/Vye/YD2r4blue4/Gcs1F1tNFw7C+NDogLWAyM7eolrDBimeRaApPUSXDE0IFmUTZ820d9QrLUJt0loM/bPE7BzDRSwTd/Yl3Lly9T9XYSZbEVMOOYWa8/y+xXMi1nFjz1Qb+WL5BsjbUjNoTG75a2gQOAs9sfEPUbmeRTwTPFswcZC/vhRYLrWzjGU/NUsZGPzXTEAMe01X+S8Ig1tZyf4SPE6Y7uFD2zlPv7k4ohyZJGVfl4GcJUkAFLXbIVIv0oSrRWEJfi/J6+EGFQNBbjTK3xjK0fGIo1ljgybbtK1vJXEWHQ5EIqri7uyM6xvZKKKa3RyDtzws9eYSQk+CP7WEGETgAFQclbzC52f40ap9g4yelPUVC4+9GHZd4ibEhrtlEKvX8sUgF4ujRlftdGFK3KEznCS1wdqgcFkw6YJbbWxfoz8GQ5LYfJGPafyoxqQ/6LXAb8Jxpm49YPSEs+oJFm8v9i5i2SXIyow768oLsW1aAc3f2VZLkPbiWxWCd6MIUSJi8N/97lPxuVpgsOm2u5ZskKo+FbEfymu4nkmCQWYqUNt1ru7s2L1MlIFg2/EOnOrOPwG9C8EWABpUBoL+1Q6jrO6eZSJTZiBxigIJQhqorS8zlfL8K5aqZG1beDH7HTd3kYhcQpdpkVZbPcXmjEVpB60vCO0VfaF9g3zY+PtYf5yJS7NdAJouJ4UaDwJLNX0ftzNFWmAbK0efVuJKFZLleId+qfttu/cRTsZMvGFhpCZbWegpJRx6WBm2075FKrYHk7RPSZ/iri8FP42rYv2UrNBLacHxQ+JrjYMyF9u0P2fQVkeA48TkT9FiweWAp8lsj+jLCOSembv7JsMwR9hV2KSUpFKqh5MNEE4bTxFH6YydURJf2qvHOWtD9gCdvwUsLhvlwKF96RiFkTXQLwfa++yzUy3jdwvO/QU39lRgNH3yn2UbrP33s7xDKBdPX5deu+jiYOWk6kNGCZvkVxz50CV+HCE4GJBswFDoGstntYrnZbaI9+FfQMtKEIqEVhQCDxbXQkYOkrZscFDNP0iPZzGd0bYSoGXVG0Nkg/+dhM5ztUWWN6skMM3CLgnU2QS81sVZPuH7 X-Microsoft-Antispam-Message-Info: 6IGKvyd8XXYH9Z5bMiq0upcQ80UbrOIdhscYeIbOKXQ3fnlnbVwiLeFMuPCRoFBrSp5lGl5ES3oT2vn+acCXo+7J8aHqb18zL/DG63T6F3Q6CZPsUY7tKZAeaYxPIq/XY4ucXlP89L2wrWOQJpC1g2GDgr8AZPW2e+jJN/VcJ3YV2Efvg8Mkwbrvu8gN4yiDgbXxwi2qWUzZUodyBOV9ehVtVUcMdO6KLuw1JP+qccZ9JVCRg8toYkKgLD1a/tNvXzu21TmqmgXbkYqty3ewMP8RYYjfVnCW6B7z/T6u+rucoucMF4BDRfozQMlrZRCw5b7MhvdeaCxFgbIJz+r2efdg2LdbUk2PRwnD/Rl7uPR7uhZJFqqcZ6hFvjmU/rlekQLa7u1g0mwuSBpTreeyeIhwgADZeSdVw9j7yoB+NTg= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:39:00.8868 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5e2b8770-4a94-4397-4be7-08d69396619f X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1922 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: Joe Carnuccio This patch adds new firmware dump template entries for ISP27XX firmware dump. Signed-off-by: Joe Carnuccio Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_tmpl.c | 191 +++++++++++++++++++++++++--------------- drivers/scsi/qla2xxx/qla_tmpl.h | 26 +++++- 2 files changed, 142 insertions(+), 75 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_tmpl.c b/drivers/scsi/qla2xxx/qla_tmpl.c index f0c7c0c75ef7..9e52500caff0 100644 --- a/drivers/scsi/qla2xxx/qla_tmpl.c +++ b/drivers/scsi/qla2xxx/qla_tmpl.c @@ -221,7 +221,13 @@ qla27xx_skip_entry(struct qla27xx_fwdt_entry *ent, void *buf) ent->hdr.driver_flags |= DRIVER_FLAG_SKIP_ENTRY; } -static int +static inline struct qla27xx_fwdt_entry * +qla27xx_next_entry(struct qla27xx_fwdt_entry *ent) +{ + return (void *)ent + ent->hdr.size; +} + +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t0(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -229,10 +235,10 @@ qla27xx_fwdt_entry_t0(struct scsi_qla_host *vha, "%s: nop [%lx]\n", __func__, *len); qla27xx_skip_entry(ent, buf); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t255(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -241,10 +247,10 @@ qla27xx_fwdt_entry_t255(struct scsi_qla_host *vha, qla27xx_skip_entry(ent, buf); /* terminate */ - return true; + return NULL; } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t256(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -255,10 +261,10 @@ qla27xx_fwdt_entry_t256(struct scsi_qla_host *vha, qla27xx_read_window(reg, ent->t256.base_addr, ent->t256.pci_offset, ent->t256.reg_count, ent->t256.reg_width, buf, len); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t257(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -269,10 +275,10 @@ qla27xx_fwdt_entry_t257(struct scsi_qla_host *vha, qla27xx_write_reg(reg, IOBASE_ADDR, ent->t257.base_addr, buf); qla27xx_write_reg(reg, ent->t257.pci_offset, ent->t257.write_data, buf); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t258(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -284,10 +290,10 @@ qla27xx_fwdt_entry_t258(struct scsi_qla_host *vha, qla27xx_read_window(reg, ent->t258.base_addr, ent->t258.pci_offset, ent->t258.reg_count, ent->t258.reg_width, buf, len); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t259(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -299,10 +305,10 @@ qla27xx_fwdt_entry_t259(struct scsi_qla_host *vha, qla27xx_write_reg(reg, ent->t259.banksel_offset, ent->t259.bank, buf); qla27xx_write_reg(reg, ent->t259.pci_offset, ent->t259.write_data, buf); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t260(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -313,10 +319,10 @@ qla27xx_fwdt_entry_t260(struct scsi_qla_host *vha, qla27xx_insert32(ent->t260.pci_offset, buf, len); qla27xx_read_reg(reg, ent->t260.pci_offset, buf, len); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t261(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -326,10 +332,10 @@ qla27xx_fwdt_entry_t261(struct scsi_qla_host *vha, "%s: wrpci [%lx]\n", __func__, *len); qla27xx_write_reg(reg, ent->t261.pci_offset, ent->t261.write_data, buf); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t262(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -362,6 +368,11 @@ qla27xx_fwdt_entry_t262(struct scsi_qla_host *vha, ent->t262.start_addr = start; ent->t262.end_addr = end; } + } else if (ent->t262.ram_area == T262_RAM_AREA_MISC) { + if (buf) { + ent->t262.start_addr = start; + ent->t262.end_addr = end; + } } else { ql_dbg(ql_dbg_misc, vha, 0xd022, "%s: unknown area %x\n", __func__, ent->t262.ram_area); @@ -384,10 +395,10 @@ qla27xx_fwdt_entry_t262(struct scsi_qla_host *vha, } *len += dwords * sizeof(uint32_t); done: - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t263(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -450,10 +461,10 @@ qla27xx_fwdt_entry_t263(struct scsi_qla_host *vha, qla27xx_skip_entry(ent, buf); } - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t264(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -478,10 +489,10 @@ qla27xx_fwdt_entry_t264(struct scsi_qla_host *vha, qla27xx_skip_entry(ent, buf); } - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t265(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -492,10 +503,10 @@ qla27xx_fwdt_entry_t265(struct scsi_qla_host *vha, if (buf) qla24xx_pause_risc(reg, vha->hw); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t266(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -504,10 +515,10 @@ qla27xx_fwdt_entry_t266(struct scsi_qla_host *vha, if (buf) qla24xx_soft_reset(vha->hw); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t267(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -517,10 +528,10 @@ qla27xx_fwdt_entry_t267(struct scsi_qla_host *vha, "%s: dis intr [%lx]\n", __func__, *len); qla27xx_write_reg(reg, ent->t267.pci_offset, ent->t267.data, buf); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t268(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -587,10 +598,10 @@ qla27xx_fwdt_entry_t268(struct scsi_qla_host *vha, break; } - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t269(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -604,10 +615,10 @@ qla27xx_fwdt_entry_t269(struct scsi_qla_host *vha, if (buf) ent->t269.scratch_size = 5 * sizeof(uint32_t); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t270(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -625,10 +636,10 @@ qla27xx_fwdt_entry_t270(struct scsi_qla_host *vha, addr += sizeof(uint32_t); } - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t271(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -642,10 +653,10 @@ qla27xx_fwdt_entry_t271(struct scsi_qla_host *vha, qla27xx_write_reg(reg, 0xc4, data, buf); qla27xx_write_reg(reg, 0xc0, addr, buf); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t272(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -662,10 +673,10 @@ qla27xx_fwdt_entry_t272(struct scsi_qla_host *vha, } *len += dwords * sizeof(uint32_t); - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t273(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -685,10 +696,10 @@ qla27xx_fwdt_entry_t273(struct scsi_qla_host *vha, addr += sizeof(uint32_t); } - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t274(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -746,10 +757,10 @@ qla27xx_fwdt_entry_t274(struct scsi_qla_host *vha, qla27xx_skip_entry(ent, buf); } - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_t275(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { @@ -763,7 +774,7 @@ qla27xx_fwdt_entry_t275(struct scsi_qla_host *vha, qla27xx_skip_entry(ent, buf); goto done; } - if (offset + ent->t275.length > ent->hdr.entry_size) { + if (offset + ent->t275.length > ent->hdr.size) { ql_dbg(ql_dbg_misc, vha, 0xd030, "%s: buffer overflow\n", __func__); qla27xx_skip_entry(ent, buf); @@ -772,30 +783,71 @@ qla27xx_fwdt_entry_t275(struct scsi_qla_host *vha, qla27xx_insertbuf(ent->t275.buffer, ent->t275.length, buf, len); done: - return false; + return qla27xx_next_entry(ent); } -static int +static struct qla27xx_fwdt_entry * +qla27xx_fwdt_entry_t276(struct scsi_qla_host *vha, + struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) +{ + uint type = vha->hw->pdev->device >> 4 & 0xf; + uint func = vha->hw->port_no & 0x3; + + ql_dbg(ql_dbg_misc + ql_dbg_verbose, vha, 0xd214, + "%s: cond [%lx]\n", __func__, *len); + + if (type != ent->t276.cond1 || func != ent->t276.cond2) { + ent = qla27xx_next_entry(ent); + qla27xx_skip_entry(ent, buf); + } + + return qla27xx_next_entry(ent); +} + +static struct qla27xx_fwdt_entry * +qla27xx_fwdt_entry_t277(struct scsi_qla_host *vha, + struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) +{ + struct device_reg_24xx __iomem *reg = qla27xx_isp_reg(vha); + + ql_dbg(ql_dbg_misc + ql_dbg_verbose, vha, 0xd215, + "%s: rdpep [%lx]\n", __func__, *len); + qla27xx_insert32(ent->t277.wr_cmd_data, buf, len); + qla27xx_write_reg(reg, ent->t277.cmd_addr, ent->t277.wr_cmd_data, buf); + qla27xx_read_reg(reg, ent->t277.data_addr, buf, len); + + return qla27xx_next_entry(ent); +} + +static struct qla27xx_fwdt_entry * +qla27xx_fwdt_entry_t278(struct scsi_qla_host *vha, + struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) +{ + struct device_reg_24xx __iomem *reg = qla27xx_isp_reg(vha); + + ql_dbg(ql_dbg_misc + ql_dbg_verbose, vha, 0xd216, + "%s: wrpep [%lx]\n", __func__, *len); + qla27xx_write_reg(reg, ent->t278.data_addr, ent->t278.wr_data, buf); + qla27xx_write_reg(reg, ent->t278.cmd_addr, ent->t278.wr_cmd_data, buf); + + return qla27xx_next_entry(ent); +} + +static struct qla27xx_fwdt_entry * qla27xx_fwdt_entry_other(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) { ql_dbg(ql_dbg_misc, vha, 0xd2ff, - "%s: type %x [%lx]\n", __func__, ent->hdr.entry_type, *len); + "%s: type %x [%lx]\n", __func__, ent->hdr.type, *len); qla27xx_skip_entry(ent, buf); - return false; + return qla27xx_next_entry(ent); } -struct qla27xx_fwdt_entry_call { +static struct { uint type; - int (*call)( - struct scsi_qla_host *, - struct qla27xx_fwdt_entry *, - void *, - ulong *); -}; - -static struct qla27xx_fwdt_entry_call ql27xx_fwdt_entry_call_list[] = { + typeof(qla27xx_fwdt_entry_other)(*call); +} qla27xx_fwdt_entry_call[] = { { ENTRY_TYPE_NOP, qla27xx_fwdt_entry_t0 }, { ENTRY_TYPE_TMP_END, qla27xx_fwdt_entry_t255 }, { ENTRY_TYPE_RD_IOB_T1, qla27xx_fwdt_entry_t256 }, @@ -818,13 +870,16 @@ static struct qla27xx_fwdt_entry_call ql27xx_fwdt_entry_call_list[] = { { ENTRY_TYPE_PCICFG, qla27xx_fwdt_entry_t273 }, { ENTRY_TYPE_GET_SHADOW, qla27xx_fwdt_entry_t274 }, { ENTRY_TYPE_WRITE_BUF, qla27xx_fwdt_entry_t275 }, + { ENTRY_TYPE_CONDITIONAL, qla27xx_fwdt_entry_t276 }, + { ENTRY_TYPE_RDPEPREG, qla27xx_fwdt_entry_t277 }, + { ENTRY_TYPE_WRPEPREG, qla27xx_fwdt_entry_t278 }, { -1, qla27xx_fwdt_entry_other } }; -static inline int (*qla27xx_find_entry(uint type)) - (struct scsi_qla_host *, struct qla27xx_fwdt_entry *, void *, ulong *) +static inline +typeof(qla27xx_fwdt_entry_call->call)(qla27xx_find_entry(uint type)) { - struct qla27xx_fwdt_entry_call *list = ql27xx_fwdt_entry_call_list; + typeof(*qla27xx_fwdt_entry_call) *list = qla27xx_fwdt_entry_call; while (list->type < type) list++; @@ -834,14 +889,6 @@ static inline int (*qla27xx_find_entry(uint type)) return qla27xx_fwdt_entry_other; } -static inline void * -qla27xx_next_entry(void *p) -{ - struct qla27xx_fwdt_entry *ent = p; - - return p + ent->hdr.entry_size; -} - static void qla27xx_walk_template(struct scsi_qla_host *vha, struct qla27xx_fwdt_template *tmp, void *buf, ulong *len) @@ -852,18 +899,16 @@ qla27xx_walk_template(struct scsi_qla_host *vha, ql_dbg(ql_dbg_misc, vha, 0xd01a, "%s: entry count %lx\n", __func__, count); while (count--) { - if (buf && *len >= vha->hw->fw_dump_len) + ent = qla27xx_find_entry(ent->hdr.type)(vha, ent, buf, len); + if (!ent) break; - if (qla27xx_find_entry(ent->hdr.entry_type)(vha, ent, buf, len)) - break; - ent = qla27xx_next_entry(ent); } if (count) ql_dbg(ql_dbg_misc, vha, 0xd018, "%s: entry residual count (%lx)\n", __func__, count); - if (ent->hdr.entry_type != ENTRY_TYPE_TMP_END) + if (ent) ql_dbg(ql_dbg_misc, vha, 0xd019, "%s: missing end entry (%lx)\n", __func__, count); diff --git a/drivers/scsi/qla2xxx/qla_tmpl.h b/drivers/scsi/qla2xxx/qla_tmpl.h index 141c1c5e73f4..5c2c2a8a19c4 100644 --- a/drivers/scsi/qla2xxx/qla_tmpl.h +++ b/drivers/scsi/qla2xxx/qla_tmpl.h @@ -54,6 +54,9 @@ struct __packed qla27xx_fwdt_template { #define ENTRY_TYPE_PCICFG 273 #define ENTRY_TYPE_GET_SHADOW 274 #define ENTRY_TYPE_WRITE_BUF 275 +#define ENTRY_TYPE_CONDITIONAL 276 +#define ENTRY_TYPE_RDPEPREG 277 +#define ENTRY_TYPE_WRPEPREG 278 #define CAPTURE_FLAG_PHYS_ONLY BIT_0 #define CAPTURE_FLAG_PHYS_VIRT BIT_1 @@ -62,8 +65,8 @@ struct __packed qla27xx_fwdt_template { struct __packed qla27xx_fwdt_entry { struct __packed { - uint32_t entry_type; - uint32_t entry_size; + uint32_t type; + uint32_t size; uint32_t reserved_1; uint8_t capture_flags; @@ -199,6 +202,24 @@ struct __packed qla27xx_fwdt_entry { uint32_t length; uint8_t buffer[]; } t275; + + struct __packed { + uint32_t cond1; + uint32_t cond2; + } t276; + + struct __packed { + uint32_t cmd_addr; + uint32_t wr_cmd_data; + uint32_t data_addr; + } t277; + + struct __packed { + uint32_t cmd_addr; + uint32_t wr_cmd_data; + uint32_t data_addr; + uint32_t wr_data; + } t278; }; }; @@ -206,6 +227,7 @@ struct __packed qla27xx_fwdt_entry { #define T262_RAM_AREA_EXTERNAL_RAM 2 #define T262_RAM_AREA_SHARED_RAM 3 #define T262_RAM_AREA_DDR_RAM 4 +#define T262_RAM_AREA_MISC 5 #define T263_QUEUE_TYPE_REQ 1 #define T263_QUEUE_TYPE_RSP 2 From patchwork Fri Feb 15 22:37:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himanshu Madhani X-Patchwork-Id: 10816061 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6F5741390 for ; Fri, 15 Feb 2019 22:39:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5A19C2ECA8 for ; Fri, 15 Feb 2019 22:39:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4A6582ED70; Fri, 15 Feb 2019 22:39:02 +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=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, 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 F19102ECA8 for ; Fri, 15 Feb 2019 22:39:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392362AbfBOWjB (ORCPT ); Fri, 15 Feb 2019 17:39:01 -0500 Received: from mail-eopbgr760042.outbound.protection.outlook.com ([40.107.76.42]:20267 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2391993AbfBOWjB (ORCPT ); Fri, 15 Feb 2019 17:39:01 -0500 Received: from DM5PR07CA0030.namprd07.prod.outlook.com (2603:10b6:3:16::16) by CY4PR07MB2901.namprd07.prod.outlook.com (2603:10b6:903:2e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 22:38:59 +0000 Received: from BY2NAM05FT058.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e52::208) by DM5PR07CA0030.outlook.office365.com (2603:10b6:3:16::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1622.16 via Frontend Transport; Fri, 15 Feb 2019 22:38:59 +0000 Authentication-Results: spf=fail (sender IP is 199.233.58.38) smtp.mailfrom=marvell.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=marvell.com; Received-SPF: Fail (protection.outlook.com: domain of marvell.com does not designate 199.233.58.38 as permitted sender) receiver=protection.outlook.com; client-ip=199.233.58.38; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (199.233.58.38) by BY2NAM05FT058.mail.protection.outlook.com (10.152.100.195) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) id 15.20.1580.2 via Frontend Transport; Fri, 15 Feb 2019 22:38:59 +0000 Received: from dut1171.mv.qlogic.com (10.112.88.18) by CAEXCH02.caveonetworks.com (10.67.98.110) with Microsoft SMTP Server (TLS) id 14.2.347.0; Fri, 15 Feb 2019 14:37:56 -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 x1FMbtxR025519; Fri, 15 Feb 2019 14:37:55 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id x1FMbtEZ025518; Fri, 15 Feb 2019 14:37:55 -0800 From: Himanshu Madhani To: , CC: , Subject: [PATCH v3 11/11] qla2xxx: Update driver version to 10.00.00.14-k Date: Fri, 15 Feb 2019 14:37:22 -0800 Message-ID: <20190215223722.25439-12-hmadhani@marvell.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20190215223722.25439-1-hmadhani@marvell.com> References: <20190215223722.25439-1-hmadhani@marvell.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131947439393345984;(abac79dc-c90b-41ba-8033-08d666125e47);(abac79dc-c90b-41ba-8033-08d666125e47) X-Forefront-Antispam-Report: CIP:199.233.58.38;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(376002)(346002)(39860400002)(396003)(136003)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(50226002)(53936002)(54906003)(36756003)(47776003)(68736007)(110136005)(85426001)(86362001)(80596001)(356004)(6666004)(14444005)(5660300002)(69596002)(42186006)(316002)(1076003)(76176011)(51416003)(16586007)(336012)(87636003)(106466001)(26826003)(2906002)(105606002)(4744005)(36906005)(446003)(486006)(26005)(81166006)(4326008)(8676002)(305945005)(498600001)(97736004)(8936002)(2616005)(50466002)(48376002)(126002)(476003)(81156014)(11346002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR07MB2901;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Fail;LANG:en;PTR:InfoDomainNonexistent;A:1;MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c5d25e12-bfc1-4d7b-99e4-08d69396607d X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(5600110)(711020)(4605077)(2017052603328);SRVR:CY4PR07MB2901; X-MS-TrafficTypeDiagnostic: CY4PR07MB2901: X-Microsoft-Antispam-PRVS: X-Forefront-PRVS: 09497C15EB X-Microsoft-Exchange-Diagnostics: 1;CY4PR07MB2901;23:QgoaskrVRVQz3OU0O3FEbshNKIVmGidqX0K9NkK8425TYW5UavijGVzcPKa83tfjdCDkH//bmy3ECjhYFfGALPBR30U15ZKHViWl0GYOQJYp7YYp1F6h5YoYO5rJmjKS4OGgUKUq18QIZEvpXdYk0jqQylsVI0s2i9kmmkcTa/1cX1zAD7u7a9UIL14cJSViAR8GLqDa5M3quHppQGoSI8tOihnfsW8DFq7nHPlRGat086hDHgZxLLIe3ORlSgzpKEhcb7vhfRh5pSeyCjYldvMVrcs//1cjv0Qi9ogo8vwclYwu7ubHjsSj3Pd9/6UVRZKSy66cP+2oXSxBu30sLP63ke1WpjSPMQ5MJYYwGKCwpqkKYe5llqNoJwN04qVBk+TPvo+zVhQpkdrZynUEyrlMt8tuY4kbpdvnGIi+ooFDbky8QVk2s6hRyqJ1da7DkhWS2Jo4NIDP6L72+/pxdIHQL4sa/8Z5HugC5gIjoF6oIYNyXTe41fEk6HfYQFz5CbFH46G5wmIa0MvazBxXx39aJKiNwBqQj31OC2r0RaEYRbtxVYW5f8trTGAZhPZX6QZyK0UzInS8pvdkxxvyJFAGwpG38jPoID4kIzUNuYuzE2/P1/BC3hTmXFfKViWj/OfmU/9a4lszxaNWKdovnV4zA07qDyhGgbKPkJc3AA5P0nLPSdnhUbF+QyIvRiA8xrPdfL8vrUkIkM6YA8jpZ0UBLGRVy2JtaloIrJfbp5tbxSOnrZ7Jadi3X47n32PcJtsxZGO/IfpnHYkxGey/YuzcEq2+yTvMdRS8KIofAPRsj5kJsXHE94BGN5LAkruMbejNvSNy+G/VCOesS2o37KitiMs9/SNDcA2XNegutTiwuNMbqNczD55SrrsHxarepPcn7TY3rbgrhnnqutBTb7A9QLqLjX8BcLjMPVBJZpbQ2nAKjXl/YD3FYnSakBloXQHUiFuzpnn/QYQujCThHZvpqaXwRAiT3M+R1CSW5sLR5IQXKD1ftX9eLu8uSYSoaZU4dEEEDQnn7twPN1iuDDbeDMG+d5xOk26lQDqQrnLgEAaKjHSR5v8zmvpLmHadFW+NErgGq2vNpLmGTzCU4ZvIYKHL+qSKdI6UF2o1Ie8N88XTLapD/TpWowIK7RxGsWtJ/eUZacQaE35GuCffSb54EIknG3tMowVIak4wUMqGu+Vfsa4BnBCi2rJJ1lLLjwOtxmxpB6kwQRJYpEGBjcp1ZDUuF5PaFHkimwjqJiYJ1nFAQYkej9SrfjfhWvA0 X-Microsoft-Antispam-Message-Info: ODLsO8YxAt1kKE58rzhBOMyuESyQyk6Ut5Vb3o4QOZdTUURvK0+15lMSwRXId0pGp6FeebuNa8mYNPi4L+CuoOpOWkbF8xmNK5Ng/Q7Xx1Nf5k5qivi90M8BYCl8XyPFHVZgcYZoqxZRwrQg60CqPsnCeYJD6WkD5azgtB6XZYUPSXvbA3jsmtiZVQni8TrUD5vVRBmXfdpD8eZIf9UGk/+xHTsZ17hlFL7t610IVTvDoD+cy665jIc71964D9syE14VZNPWKFY1YQ60icKoSfRYtwCkeg/kj3OnShtDpvduyX7hAHhpDKalNGXgvQzOT/oXU60SlFrSkh5Puiy6bwzncin+xPo3Bg1tpyoDPVypxEqDaXs2p+EOByAPJJanuzV5iAxaeg2VSVLlGGFVF2b4zjNN4yoAnQFjg2pirMk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2019 22:38:59.0197 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c5d25e12-bfc1-4d7b-99e4-08d69396607d X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[199.233.58.38];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB2901 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 Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/qla2xxx/qla_version.h b/drivers/scsi/qla2xxx/qla_version.h index 537098e8f1c1..0690dac24081 100644 --- a/drivers/scsi/qla2xxx/qla_version.h +++ b/drivers/scsi/qla2xxx/qla_version.h @@ -7,7 +7,7 @@ /* * Driver version */ -#define QLA2XXX_VERSION "10.00.00.13-k" +#define QLA2XXX_VERSION "10.00.00.14-k" #define QLA_DRIVER_MAJOR_VER 10 #define QLA_DRIVER_MINOR_VER 0