From patchwork Wed Jul 25 17:01:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 10544451 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 6F76C14E2 for ; Wed, 25 Jul 2018 17:01:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5A18D2A843 for ; Wed, 25 Jul 2018 17:01:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 57CDD2A86C; Wed, 25 Jul 2018 17:01:36 +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,DKIM_SIGNED, DKIM_VALID,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 BA6462A85B for ; Wed, 25 Jul 2018 17:01:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729490AbeGYSOH (ORCPT ); Wed, 25 Jul 2018 14:14:07 -0400 Received: from mail-eopbgr720071.outbound.protection.outlook.com ([40.107.72.71]:28000 "EHLO NAM05-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729450AbeGYSOH (ORCPT ); Wed, 25 Jul 2018 14:14:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pZB51cFgs/2d3DaoL5igdgUJ4QQoLJbjfd5HvE5VNjs=; b=NpgydMkw3L5HJTU4WGlj88SuvCqd2C5GPf3wKyOA9VP5bm5uZVpPLnP4vCEY6GSjGQRqQpEjLHYU9x9efOyXi6+Krueo8Iga3vbJJbQyJI8rT+JGeAOcwWIISP5pvWmpzh6lNbAtz4x4ERGl0WQnkMHetfZ8muqUYbhfr85RLSo= Received: from SN1PR0701CA0030.namprd07.prod.outlook.com (2a01:111:e400:5173::40) by BL0PR07MB4067.namprd07.prod.outlook.com (2603:10b6:207:4b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.952.21; Wed, 25 Jul 2018 17:01:30 +0000 Received: from DM3NAM05FT064.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e51::209) by SN1PR0701CA0030.outlook.office365.com (2a01:111:e400:5173::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.995.16 via Frontend Transport; Wed, 25 Jul 2018 17:01:29 +0000 Authentication-Results: spf=pass (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=cavium.com; Received-SPF: Pass (protection.outlook.com: domain of cavium.com designates 50.232.66.26 as permitted sender) receiver=protection.outlook.com; client-ip=50.232.66.26; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by DM3NAM05FT064.mail.protection.outlook.com (10.152.98.188) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.1017.0 via Frontend Transport; Wed, 25 Jul 2018 17:01:29 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Wed, 25 Jul 2018 10:01:21 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id w6PH1LRI010324; Wed, 25 Jul 2018 10:01:21 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w6PH1LxC010323; Wed, 25 Jul 2018 10:01:21 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 05/16] qla2xxx: Prevent SysFS access when chip is down Date: Wed, 25 Jul 2018 10:01:09 -0700 Message-ID: <20180725170120.10269-6-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180725170120.10269-1-himanshu.madhani@cavium.com> References: <20180725170120.10269-1-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(376002)(346002)(396003)(136003)(39860400002)(2980300002)(438002)(199004)(189003)(54906003)(14444005)(106002)(110136005)(336012)(4326008)(42186006)(16586007)(316002)(50226002)(36756003)(5660300001)(47776003)(1076002)(76176011)(69596002)(51416003)(80596001)(86362001)(2906002)(2616005)(26005)(446003)(50466002)(48376002)(106466001)(72206003)(186003)(478600001)(87636003)(305945005)(8936002)(8676002)(81166006)(81156014)(356003)(6666003)(476003)(486006)(44832011)(126002)(11346002);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR07MB4067;H:CAEXCH02.caveonetworks.com;FPR:;SPF:Pass;LANG:en;PTR:50-232-66-26-static.hfc.comcastbusiness.net;A:1;MX:1; X-Microsoft-Exchange-Diagnostics: 1;DM3NAM05FT064;1:5WaBxdrqf88bULhzeLU5pc1Tokjf8slqE494mKhELyV4JsSJieGvKc36k9X2KnGImNT82NYqAfWxGpEk5dIOETy4aDSz5cvPBo0Dz4/YyU3Ah7SbxT2eg9lwzw2nfUif X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 626b5731-046c-4b9f-37c6-08d5f2504446 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(5600073)(711020)(4608076)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060);SRVR:BL0PR07MB4067; X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB4067;3:dGt7tifxFU8/Lz4ca6FBlbBok+pLcT35vPd4UZFBuCwl7+z5gOCvPmWF+f7lOlOOrXN40FZq6WS2KIINM3twDqyWqLpHFflE4dht+H6Yd6iKrL/YM9KbltkP4RPyJ/SrIDSYn/pXNtBsmL3/riyyHJfajTJJdmnQzC7FdqVqzUu9dwYY+vQe4ngAPDjo67SGJo4qi6iEjcMdPfOJPpQ6esfwxSneZx7B428jWcZXmYlPWqipdWXlfL2QyZckN/HABG41LMRneMPuWGTEh7Huc8iw4ma1tJoW82CdrRMGM5bpi9Uv/GTB4WK3eTPw0GjKImo8LXiWhKqUH8CCnksvnINp/B9c4upAdauPRCKYOoc=;25:2E9EZQ3iPgxLJc29IO7RcqwOkygFXbwayM/W5L7sEH2RiZ4kJqkUDx1nfvCQzNKRDxQZQQRPZq0XRiDFtogiGCfjMHdx1QjCRHDlE3b1tG9CzIFChw+W+BrCHPvRdu21rLBO0NtfThPoF4dlXuaUVndEaHfiNJM5JiJAIo5x0Uj+eK+TOii0IYjAIA3RgdZ+WE/g3xsbq1pxewxTfT6bUC1pGm7vaqChZRO+PRiXgJ/A0LGC8qNsH/0WdR93J3xFwtiq7z7Eq/jnNBffng8fE9Qq5HhFeRkbNF851e4jrFqkkjGj1Tb6azUbATMMeWbWWFRrJ1lefgL/qRZuTi88CA== X-MS-TrafficTypeDiagnostic: BL0PR07MB4067: X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB4067;31:+j42FY++wC0mor7SzjlQyJax51YPcnEmwfLO+vUFjc2jczctRPTrUfqtjrjLmc/WlmVAk9TEw6nTA+11wmg9qdQH7qjQ478n+v2BIAakK1WxlhPmM89fINbljpzn19PzCyDg1t6Z+mHYVsSDBGkvR6oFqoOVfIUsY7zNmPvWQ8ZYCuWEP9juMeSl3F0ajkKukcRvseMlyTMojfWIZEYlLlveDFuF0TtCWo5FoOso1J4=;20:8YpdYr8Wn/jE8JMydofW321nyIt5sBY9JlIlU675EqZM0fIv3ykx67hCJtRkg/ghux7sA42FRWQgIwW7bbVb2IzGXGpiF6VtZpioUBbDqyyYezs3LSvZXClZvkGitn4eeDbq/6j7n++F/txWCJdk4OKHmutbmy2XSMXlD421kVyjuhbpEbxYDyyPNqEFNT15Oad3AVR0QByUt//eaF1Q/L5IfUkvbzzVmyTwfPR0YzrwIHv1eVetZptTdYeFXC4Q7RChfvftH95PgnlamOJVxBwftMl3G7KMTelYOINErIKmCmn5HcGP+0VpK2mHT5qtOZ+R8Il1Myh1vMG57cDLELsBKwPz7euiRghv2YZbv6B09DshtlZFfZNNKwpmDraUOsoFdqgYOAArvCjpq8O91SR8xFm681UXbl4WTCv1LA3Bc82iXLT2ZtfUjlO8KP6OnCRWg1w74LSrVweP8x4yA6lq7VMsQA65vHkMqqb2d39O8Yqbrkeh4v8bTDkyCWH/ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231311)(944501410)(52105095)(93006095)(93004095)(3002001)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016);SRVR:BL0PR07MB4067;BCL:0;PCL:0;RULEID:;SRVR:BL0PR07MB4067; X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB4067;4:Q04CaBr8+QP2S0fjiB9cbathB1BUEplhdGdCEAf/qMRr+UtHmJcj5ivVg7yTBBbOVOzUF8o9QNRxFEpucmwH6LrWK1P/Caw434HqTA+g3xIGT3bbSOSXAk7xWWi8IlaeHIfw/XHJ6ohfnhqou2fV208ccKElrpX2YpHz4gyHsn56OOs6/IbqiUtgxV0fu41G8RSfc7j7Iz9dkPmdI5QzIBrFDt4/r7FAQr6ZUkL7eAdOBoRksHfo8KQg3gTd74V8yDRh8KeOF1tZaNC5+xKXpQ== X-Forefront-PRVS: 0744CFB5E8 X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB4067;23:bGrJU1VbmY/VJudVGwkmPV9GJ2Y1P02ImgFJYl8g/kOMbQkbsX7MWP2LDVY7B1Tol17AcJ4kzFpapB/GC1C3DKmXSkEoKu6rGAUf06rO+mpQ34dnbq2L6xkFxfm5khTuhB9WtaYzycb5Lk2NO+qehGtsQIiAtkd4XYMffnHh68MCH9ALTQkNC6YSPfe++Wij6iYJdjgNyPq3p9mDmS55A4hof3UcgOgk6nZpUrHGpTgULE9Tb8X523DQHQ6gNtQGmFvK8EmgDUrwZnj8SSkjSp2ouS4epizo2f0u02HLGxOSgG+fl21SPdaebAEgdf/HGGTpTpb8nVc1jnajK8PmXYpDfWVoTljvryj0KHByt/mDOKdp/IH8MYRc3qX2hPJKphdMs8DJi4vj9Pori7OgQtnb5YiKxBdqfiudBbxj7QpXOL9cdBlXlzeEjaWiUUVw3120HN7lw4iQXrU9ZsbhVaJoalRZ0l8YfMP15x8Tg5w+cnzN/ui/1WPBK1T/XevQX0s9Za05UlRp9oLJG0G19GkBrAaNrG41yzrbaj6HffATKYFrwgOSqwvPnypkMDELn9ABvkkvdwWcUB4IR3wDAecfdNjPtBy8M5HuM0fVPIlo/Y1T3IJiHBzNp6iEVspffGdmubbwYlUPdhA5DN/DfDS266WHw3TFLUEoqroQTngRL/EIOfJywnbyLgDuGzOUzpdw//QqwQK+qqhDH4nSVTpeMZuaUbfN/tQbyCYzDRHNQZwfaVFWYUaWsR4Gs4P/FNsKCsr5eW34BQA4cPKkGlQ2e9BwHr0PuaR8+wzhQ+rCkDjZ7gbcePkaXj0ZMo3f2RdAYNQUMOfM7fDEqvOLGbkgPTSq7RtDG0R4enyD+8aSebK95rw1FfTBIF6wY8G6ZrE3WwONSc4fWy3ud7JbKvYgSaaH8/AESYFIBuqBzejT6wyi18JZGPCIhk5XyGZ+C9yNx8zEW+Q193tE085N/nQ0AzdC7JR3tBnNHpvJB1pOIxJeaJfV9Lutoqm4+NcohlT4B5M3zNzNO+zf0/Ao2zvZZg/SphLjeyoOUPxkWQt3JWuzb+m+y818sVi6UtbBrIenVNRPWTvVTzAWKAs/IgQUpcpC077Gs00jCmzkbJlAtn6ZBxY7bQnT1F4vVIW6 X-Microsoft-Antispam-Message-Info: J12lJZ2hiFm20GIGwX1s/tHNKFZK1wd3c4Xo+SrvwuqPTuoDZVwkUtj30XJpL8J3GCuBxbjLtDGlmxKVUohpgMOSGMdbTWmmXvS1HIAN98YP0HeweEqDi71TjrE0S46J4VwCMKwbOiZb+zb21E7Ykbo7PCix+9bEiobHHPzvoS2mmgAmTai8Q0SsDHGJWZ83+bZhtQjEWkH0/Ccbrsa3Ol45Bb1KyCYJOBMW+Oea6FcAIH9rhjEgin/A9MWyIRC76Uptbe2QOtzHhFmWcPu/aAIO8IL/VplDDHc0PlOxHnxn5Gxpp9x35DuXQGTe8sPI3IZH0RCGmDg7G6PdQy5Y0e8XLl5/KOZOVyStTxvjsgU= X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB4067;6:+zgEJEAfJv5nn3bey90sSog31uy4acywnIVzeDonmv8J7IKCa0MttjBVBGgzXhN88qGo1VhDHKEGLynR3zKbbfgvN5tdSOwIkMOjxLwQKTzOJ3B2n8NxqbKosA8gtl48fRvHrpntHByvhj4V7WUxTMdcRgyJV2kEjCarndmR93gv0ZpFQdnlweyI2x8reOdNnVCaeOBbejNNlKUJDf1nacXv8twEVLLUB8jC3W8mveUtZT48byNlBckTZNXHGcTGEESbRT5V6Iuf8CreCsjfceVFCIXAuJEVGxj7qvJWIhK12hxIvLZjNdqqZ7T8/06REEHJT5b5kKteTSdM8xuCljNZevkgxPXdzWAIACAke3vc+ISMjJh+6l7I6Cn3OPCWpCIKxteBpdheEKCs5nlPr6MXwnzldnaitqfd05MbL/o4k8AP0sShda0Y9P6O+bQE6X1dw3x76c4YFcvsDYN2wQ==;5:2jNH2xdU/wKyPPl/tmzN6HAHjq9Sgd1K4vPrtUAkWB76lPxFPzLdYP5kOx3oLcQ9GTQLcI5K3B0ZJHYqwNAqG+1Jlb5pgGcUwFOdEUl2uE6heRctEywokiBNxeOry+LV5l2HWhs/7Be5TmeYwZbdw1xHoVgBmHR9xTaNA5JY2Bc=;24:jyYsVujbHcv2oO3pFR6crNVJH8MDCAIf7AKPfQ249B9jX66oPjEgj8zMY1S3rXpFw7oB8PzrULV6v0cZi0+ehVuAXTTkpgK7sbaBeOp4Rgo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BL0PR07MB4067;7:2M7qbtNAweCj3tMg95cpkynBBk4px2LTCteKL7E+bs/JLUmllT7JL+ELXwyQbAAUfDSyXd/CFK+GKdesKK2jwvjIBsstcP7IrGp880fT6vUoEwhsNLmftSjxVh8ILzmwilGfnDdRTxH0buB5ccAFwtkpKSBMp9lkN5wE7ZpU3ZCbg2RG8uAjNmh34HXpPfuglqpEg8rdnBuO2ryGTc/Uw9KZ2x4i+QLyWttXadVk8Z35aXjIfziRrIgsRG8i2UeR X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2018 17:01:29.6582 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 626b5731-046c-4b9f-37c6-08d5f2504446 X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194;Ip=[50.232.66.26];Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB4067 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 | 33 +++++++++++++++++++++++++++------ drivers/scsi/qla2xxx/qla_init.c | 2 +- drivers/scsi/qla2xxx/qla_inline.h | 6 ++++++ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index c8731568f9c4..4888b999e82f 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c @@ -518,6 +518,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; @@ -570,7 +573,7 @@ qla2x00_sysfs_read_sfp(struct file *filp, struct kobject *kobj, if (!capable(CAP_SYS_ADMIN) || off != 0 || count < SFP_DEV_SIZE) return 0; - if (qla2x00_reset_active(vha)) + if (qla2x00_chip_is_down(vha)) return 0; rval = qla2x00_read_sfp_dev(vha, buf, count); @@ -733,6 +736,15 @@ qla2x00_issue_logo(struct file *filp, struct kobject *kobj, int type; port_id_t did; + if (!capable(CAP_SYS_ADMIN)) + return 0; + + if (unlikely(pci_channel_offline(vha->hw->pdev))) + return 0; + + if (qla2x00_chip_is_down(vha)) + return 0; + type = simple_strtol(buf, NULL, 10); did.b.domain = (type & 0x00ff0000) >> 16; @@ -771,6 +783,12 @@ qla2x00_sysfs_read_xgmac_stats(struct file *filp, struct kobject *kobj, if (!capable(CAP_SYS_ADMIN) || off != 0 || count > XGMAC_DATA_SIZE) return 0; + if (unlikely(pci_channel_offline(ha->pdev))) + return 0; + + if (qla2x00_chip_is_down(vha)) + return 0; + if (ha->xgmac_data) goto do_read; @@ -825,6 +843,9 @@ qla2x00_sysfs_read_dcbx_tlv(struct file *filp, struct kobject *kobj, if (ha->dcbx_tlv) goto do_read; + if (qla2x00_chip_is_down(vha)) + return 0; + ha->dcbx_tlv = dma_alloc_coherent(&ha->pdev->dev, DCBX_TLV_DATA_SIZE, &ha->dcbx_tlv_dma, GFP_KERNEL); if (!ha->dcbx_tlv) { @@ -1036,7 +1057,7 @@ qla2x00_link_state_show(struct device *dev, struct device_attribute *attr, vha->device_flags & DFLG_NO_CABLE) len = scnprintf(buf, PAGE_SIZE, "Link Down\n"); else if (atomic_read(&vha->loop_state) != LOOP_READY || - qla2x00_reset_active(vha)) + qla2x00_chip_is_down(vha)) len = scnprintf(buf, PAGE_SIZE, "Unknown Link State\n"); else { len = scnprintf(buf, PAGE_SIZE, "Link Up - "); @@ -1163,7 +1184,7 @@ qla2x00_beacon_store(struct device *dev, struct device_attribute *attr, if (IS_QLA2100(ha) || IS_QLA2200(ha)) return -EPERM; - if (test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) { + if (qla2x00_chip_is_down(vha)) { ql_log(ql_log_warn, vha, 0x707a, "Abort ISP active -- ignoring beacon request.\n"); return -EBUSY; @@ -1350,7 +1371,7 @@ qla2x00_thermal_temp_show(struct device *dev, scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); uint16_t temp = 0; - if (qla2x00_reset_active(vha)) { + if (qla2x00_chip_is_down(vha)) { ql_log(ql_log_warn, vha, 0x70dc, "ISP reset active.\n"); goto done; } @@ -1381,7 +1402,7 @@ qla2x00_fw_state_show(struct device *dev, struct device_attribute *attr, return scnprintf(buf, PAGE_SIZE, "0x%x\n", pstate); } - if (qla2x00_reset_active(vha)) + if (qla2x00_chip_is_down(vha)) ql_log(ql_log_warn, vha, 0x707c, "ISP reset active.\n"); else if (!vha->hw->flags.eeh_busy) @@ -1840,7 +1861,7 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost) if (unlikely(pci_channel_offline(ha->pdev))) goto done; - if (qla2x00_reset_active(vha)) + if (qla2x00_chip_is_down(vha)) goto done; stats = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*stats), diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 067706c9e56f..ba9dab81580d 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -7018,7 +7018,7 @@ uint8_t qla27xx_find_valid_image(struct scsi_qla_host *vha) ha->active_image = QLA27XX_SECONDARY_IMAGE; } - ql_dbg(ql_dbg_init, vha, 0x018f, "%s image\n", + ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x018f, "%s image\n", ha->active_image == 0 ? "default bootld and fw" : ha->active_image == 1 ? "primary" : ha->active_image == 2 ? "secondary" : diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h index 735f122607f3..1d5f73b4c196 100644 --- a/drivers/scsi/qla2xxx/qla_inline.h +++ b/drivers/scsi/qla2xxx/qla_inline.h @@ -202,6 +202,12 @@ qla2x00_reset_active(scsi_qla_host_t *vha) test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags); } +static inline int +qla2x00_chip_is_down(scsi_qla_host_t *vha) +{ + return (qla2x00_reset_active(vha) || !vha->hw->flags.fw_started); +} + static inline srb_t * qla2xxx_get_qpair_sp(struct qla_qpair *qpair, fc_port_t *fcport, gfp_t flag) {