From patchwork Sat May 23 06:08:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasundhara Volam X-Patchwork-Id: 218641 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, UPPERCASE_50_75, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39C5CC433DF for ; Sat, 23 May 2020 06:10:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 039DB207F7 for ; Sat, 23 May 2020 06:10:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="fR37ShuL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387664AbgEWGKz (ORCPT ); Sat, 23 May 2020 02:10:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387446AbgEWGKy (ORCPT ); Sat, 23 May 2020 02:10:54 -0400 Received: from mail-pj1-x1044.google.com (mail-pj1-x1044.google.com [IPv6:2607:f8b0:4864:20::1044]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B629C061A0E for ; Fri, 22 May 2020 23:10:54 -0700 (PDT) Received: by mail-pj1-x1044.google.com with SMTP id cx22so5938176pjb.1 for ; Fri, 22 May 2020 23:10:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=lPMutBkJju6wyauV5k7LNnHuIgh2OD++KVtMrRBIPHQ=; b=fR37ShuLhWnk3pfaCBQHDsQ2IceHughDDbCPbjiWU7SVgF11IONKj3AC9Zz58A9eum WitAmq8ppjzWF46HrV+CY88qZV/nUibGdR/Ga8gzNGO1QNuLCjRJrOEryFyJKQ0hFuzt /uajtqVr4M9SNj0rJRMB13Z9pBPHRBCuRmcFo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=lPMutBkJju6wyauV5k7LNnHuIgh2OD++KVtMrRBIPHQ=; b=LPFvOJsGm6Zq2B96ovhKxhDtbKzSBSD7xbYnaBmHHktmQRIq/r4Jq580pOSQShLZwS VrWT1rHXA+5uGfvVz6U2eotIASYP9S5DPlS2kW7c04g+Lai+6i0yQVaU1I1TXgRg4W3F JKHdDnbj/6BbQwNopetVwSCxCPqrEvB97wI0J2Yt5S6m++m4BAwP3JlBI+dN2giLycAz 84CTmPQfkiXlHSPV4OWNZuNt2kKaXi5K1elTMtYL7lZP2HURjgLUvCkQkN/Rg8W98z1a rJvhJZmb0g2GocSflBagIlhhWqGnq4fbTPSsvepMsOiUVK/jh6pEWgJxFOf2+gZ7GFs7 XucQ== X-Gm-Message-State: AOAM530BLb4O1WTTXrjVSenya4zMzMUIDxZn5j1FSUhQjntE2z1RS4mX JOZCPCy2i8vnF3bpMM0jpzOODA== X-Google-Smtp-Source: ABdhPJw8wGzZX7kW7jQcMN/VFnqdc2sup+QL2qM4faIV+G+q8o1cg42kO21GDm34/8rlhaMKg7j1iQ== X-Received: by 2002:a17:90a:e990:: with SMTP id v16mr7985934pjy.62.1590214253901; Fri, 22 May 2020 23:10:53 -0700 (PDT) Received: from lxpurley1.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 1sm8455414pff.180.2020.05.22.23.10.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 May 2020 23:10:53 -0700 (PDT) From: Vasundhara Volam To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Michael Chan Subject: [PATCH v2 net-next 2/4] bnxt_en: Update firmware spec. to 1.10.1.40. Date: Sat, 23 May 2020 11:38:23 +0530 Message-Id: <1590214105-10430-3-git-send-email-vasundhara-v.volam@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1590214105-10430-1-git-send-email-vasundhara-v.volam@broadcom.com> References: <1590214105-10430-1-git-send-email-vasundhara-v.volam@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Major changes are to add additional flags to configure hot firmware reset. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan Reviewed-by: Edwin Peer --- drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 64 ++++++++++++++++----------- 1 file changed, 37 insertions(+), 27 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h index 7e9235c..0a6e60e 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h @@ -367,6 +367,8 @@ struct cmd_nums { #define HWRM_TF_EXT_EM_OP 0x2ddUL #define HWRM_TF_EXT_EM_CFG 0x2deUL #define HWRM_TF_EXT_EM_QCFG 0x2dfUL + #define HWRM_TF_EM_INSERT 0x2e0UL + #define HWRM_TF_EM_DELETE 0x2e1UL #define HWRM_TF_TCAM_SET 0x2eeUL #define HWRM_TF_TCAM_GET 0x2efUL #define HWRM_TF_TCAM_MOVE 0x2f0UL @@ -391,6 +393,7 @@ struct cmd_nums { #define HWRM_DBG_QCAPS 0xff20UL #define HWRM_DBG_QCFG 0xff21UL #define HWRM_DBG_CRASHDUMP_MEDIUM_CFG 0xff22UL + #define HWRM_NVM_REQ_ARBITRATION 0xffedUL #define HWRM_NVM_FACTORY_DEFAULTS 0xffeeUL #define HWRM_NVM_VALIDATE_OPTION 0xffefUL #define HWRM_NVM_FLUSH 0xfff0UL @@ -464,8 +467,8 @@ struct hwrm_err_output { #define HWRM_VERSION_MAJOR 1 #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 1 -#define HWRM_VERSION_RSVD 33 -#define HWRM_VERSION_STR "1.10.1.33" +#define HWRM_VERSION_RSVD 40 +#define HWRM_VERSION_STR "1.10.1.40" /* hwrm_ver_get_input (size:192b/24B) */ struct hwrm_ver_get_input { @@ -1192,6 +1195,7 @@ struct hwrm_func_qcaps_output { #define FUNC_QCAPS_RESP_FLAGS_EXT_ECN_MARK_SUPPORTED 0x1UL #define FUNC_QCAPS_RESP_FLAGS_EXT_ECN_STATS_SUPPORTED 0x2UL #define FUNC_QCAPS_RESP_FLAGS_EXT_EXT_HW_STATS_SUPPORTED 0x4UL + #define FUNC_QCAPS_RESP_FLAGS_EXT_HOT_RESET_IF_SUPPORT 0x8UL u8 unused_1[3]; u8 valid; }; @@ -1226,6 +1230,7 @@ struct hwrm_func_qcfg_output { #define FUNC_QCFG_RESP_FLAGS_TRUSTED_VF 0x40UL #define FUNC_QCFG_RESP_FLAGS_SECURE_MODE_ENABLED 0x80UL #define FUNC_QCFG_RESP_FLAGS_PREBOOT_LEGACY_L2_RINGS 0x100UL + #define FUNC_QCFG_RESP_FLAGS_HOT_RESET_ALLOWED 0x200UL u8 mac_address[6]; __le16 pci_id; __le16 alloc_rsscos_ctx; @@ -1352,30 +1357,32 @@ struct hwrm_func_cfg_input { #define FUNC_CFG_REQ_FLAGS_NQ_ASSETS_TEST 0x800000UL #define FUNC_CFG_REQ_FLAGS_TRUSTED_VF_DISABLE 0x1000000UL #define FUNC_CFG_REQ_FLAGS_PREBOOT_LEGACY_L2_RINGS 0x2000000UL + #define FUNC_CFG_REQ_FLAGS_HOT_RESET_IF_EN_DIS 0x4000000UL __le32 enables; - #define FUNC_CFG_REQ_ENABLES_MTU 0x1UL - #define FUNC_CFG_REQ_ENABLES_MRU 0x2UL - #define FUNC_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x4UL - #define FUNC_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x8UL - #define FUNC_CFG_REQ_ENABLES_NUM_TX_RINGS 0x10UL - #define FUNC_CFG_REQ_ENABLES_NUM_RX_RINGS 0x20UL - #define FUNC_CFG_REQ_ENABLES_NUM_L2_CTXS 0x40UL - #define FUNC_CFG_REQ_ENABLES_NUM_VNICS 0x80UL - #define FUNC_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x100UL - #define FUNC_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x200UL - #define FUNC_CFG_REQ_ENABLES_DFLT_VLAN 0x400UL - #define FUNC_CFG_REQ_ENABLES_DFLT_IP_ADDR 0x800UL - #define FUNC_CFG_REQ_ENABLES_MIN_BW 0x1000UL - #define FUNC_CFG_REQ_ENABLES_MAX_BW 0x2000UL - #define FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4000UL - #define FUNC_CFG_REQ_ENABLES_VLAN_ANTISPOOF_MODE 0x8000UL - #define FUNC_CFG_REQ_ENABLES_ALLOWED_VLAN_PRIS 0x10000UL - #define FUNC_CFG_REQ_ENABLES_EVB_MODE 0x20000UL - #define FUNC_CFG_REQ_ENABLES_NUM_MCAST_FILTERS 0x40000UL - #define FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x80000UL - #define FUNC_CFG_REQ_ENABLES_CACHE_LINESIZE 0x100000UL - #define FUNC_CFG_REQ_ENABLES_NUM_MSIX 0x200000UL - #define FUNC_CFG_REQ_ENABLES_ADMIN_LINK_STATE 0x400000UL + #define FUNC_CFG_REQ_ENABLES_MTU 0x1UL + #define FUNC_CFG_REQ_ENABLES_MRU 0x2UL + #define FUNC_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x4UL + #define FUNC_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x8UL + #define FUNC_CFG_REQ_ENABLES_NUM_TX_RINGS 0x10UL + #define FUNC_CFG_REQ_ENABLES_NUM_RX_RINGS 0x20UL + #define FUNC_CFG_REQ_ENABLES_NUM_L2_CTXS 0x40UL + #define FUNC_CFG_REQ_ENABLES_NUM_VNICS 0x80UL + #define FUNC_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x100UL + #define FUNC_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x200UL + #define FUNC_CFG_REQ_ENABLES_DFLT_VLAN 0x400UL + #define FUNC_CFG_REQ_ENABLES_DFLT_IP_ADDR 0x800UL + #define FUNC_CFG_REQ_ENABLES_MIN_BW 0x1000UL + #define FUNC_CFG_REQ_ENABLES_MAX_BW 0x2000UL + #define FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4000UL + #define FUNC_CFG_REQ_ENABLES_VLAN_ANTISPOOF_MODE 0x8000UL + #define FUNC_CFG_REQ_ENABLES_ALLOWED_VLAN_PRIS 0x10000UL + #define FUNC_CFG_REQ_ENABLES_EVB_MODE 0x20000UL + #define FUNC_CFG_REQ_ENABLES_NUM_MCAST_FILTERS 0x40000UL + #define FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x80000UL + #define FUNC_CFG_REQ_ENABLES_CACHE_LINESIZE 0x100000UL + #define FUNC_CFG_REQ_ENABLES_NUM_MSIX 0x200000UL + #define FUNC_CFG_REQ_ENABLES_ADMIN_LINK_STATE 0x400000UL + #define FUNC_CFG_REQ_ENABLES_HOT_RESET_IF_SUPPORT 0x800000UL __le16 mtu; __le16 mru; __le16 num_rsscos_ctxs; @@ -7620,7 +7627,8 @@ struct hwrm_dbg_ring_info_get_input { #define DBG_RING_INFO_GET_REQ_RING_TYPE_L2_CMPL 0x0UL #define DBG_RING_INFO_GET_REQ_RING_TYPE_TX 0x1UL #define DBG_RING_INFO_GET_REQ_RING_TYPE_RX 0x2UL - #define DBG_RING_INFO_GET_REQ_RING_TYPE_LAST DBG_RING_INFO_GET_REQ_RING_TYPE_RX + #define DBG_RING_INFO_GET_REQ_RING_TYPE_NQ 0x3UL + #define DBG_RING_INFO_GET_REQ_RING_TYPE_LAST DBG_RING_INFO_GET_REQ_RING_TYPE_NQ u8 unused_0[3]; __le32 fw_ring_id; }; @@ -7633,7 +7641,8 @@ struct hwrm_dbg_ring_info_get_output { __le16 resp_len; __le32 producer_index; __le32 consumer_index; - u8 unused_0[7]; + __le32 cag_vector_ctrl; + u8 unused_0[3]; u8 valid; }; @@ -7922,6 +7931,7 @@ struct hwrm_nvm_install_update_input { #define NVM_INSTALL_UPDATE_REQ_FLAGS_ERASE_UNUSED_SPACE 0x1UL #define NVM_INSTALL_UPDATE_REQ_FLAGS_REMOVE_UNUSED_PKG 0x2UL #define NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG 0x4UL + #define NVM_INSTALL_UPDATE_REQ_FLAGS_VERIFY_ONLY 0x8UL u8 unused_0[2]; }; From patchwork Sat May 23 06:08:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasundhara Volam X-Patchwork-Id: 218640 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69AE1C433E0 for ; Sat, 23 May 2020 06:11:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3576E207F7 for ; Sat, 23 May 2020 06:11:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="DUkQj1s+" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387675AbgEWGLJ (ORCPT ); Sat, 23 May 2020 02:11:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387446AbgEWGLI (ORCPT ); Sat, 23 May 2020 02:11:08 -0400 Received: from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com [IPv6:2607:f8b0:4864:20::1043]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBEECC061A0E for ; Fri, 22 May 2020 23:11:08 -0700 (PDT) Received: by mail-pj1-x1043.google.com with SMTP id a5so5935463pjh.2 for ; Fri, 22 May 2020 23:11:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oDjF/MVSQ+SrxV5GE4Nj15DEJvCkLM9knUvqUOkxARs=; b=DUkQj1s+mTcUrNdgol/vJcNDqLzPzlyoZ6NNuxYu+S0YYWSjyU5M6gma+eQWRIZQVB 06L3km/smgB/fps8asK9E6Fx4EHMNxh7J34ee5Bx2JJIgbUX8Z+pokAflytFCh1ymcBI ntoiySNVSiakS+75Pfu2toAkLPcOnhsH0rC+c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=oDjF/MVSQ+SrxV5GE4Nj15DEJvCkLM9knUvqUOkxARs=; b=bX2dKEXlpfYK4ygfRaHcnMJuuPnrMQr3XameGY34z1dcruv7ojqCzuMgz/FWkvbKx0 8j4OTYKS4Cro9yoVN5LcHBLXXpMvOJ3t3AxCowsA0e7e9kGY7VyLEzEFk60QVgqNkBG2 oOruGAiMmk8Hbz8eJas2JSNM36MFLI20/9Zs8rl4ylslTmFPVshAQ5Ur0aTHnZL34WEK Zm4EalF/wnjxIEEGPPLWsIqY1TnSgyqZl3W771Ld5/H7DjyM9lRHUwolwtvAXy6nnho3 oqDnkySSMZf3Vai1tTwOuzpCIWIjx2biIKPaWvBJ+7QFFy1UecLDJ8/bdyQDaQuw65O+ ll9g== X-Gm-Message-State: AOAM533AzuR4Djb11DLplNNB8Assi/XXiv41avgD4np4Y2AtxAabxrsF gCocsoTTWFamySeGtaOJJig5Mg== X-Google-Smtp-Source: ABdhPJzDMU1g9Bpd1u5/19MhWuUdrg07go1oj9lUtXtmLKOfQvhQp2cORCb32O6Iais66g/PTvjk3A== X-Received: by 2002:a17:90a:8989:: with SMTP id v9mr9016405pjn.180.1590214268194; Fri, 22 May 2020 23:11:08 -0700 (PDT) Received: from lxpurley1.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 1sm8455414pff.180.2020.05.22.23.11.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 May 2020 23:11:07 -0700 (PDT) From: Vasundhara Volam To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Michael Chan Subject: [PATCH v2 net-next 4/4] bnxt_en: Check if fw_live_reset is allowed before doing ETHTOOL_RESET Date: Sat, 23 May 2020 11:38:25 +0530 Message-Id: <1590214105-10430-5-git-send-email-vasundhara-v.volam@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1590214105-10430-1-git-send-email-vasundhara-v.volam@broadcom.com> References: <1590214105-10430-1-git-send-email-vasundhara-v.volam@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org If device does not allow fw_live_reset, issue FW_RESET command without graceful flag, which requires a driver reload to reset the firmware. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan Reviewed-by: Edwin Peer --- v2: Rephrase the subject and elaborate commit message --- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index dd0c3f2..e5eb8d2 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -1888,12 +1888,11 @@ static int bnxt_firmware_reset(struct net_device *dev, return bnxt_hwrm_firmware_reset(dev, proc_type, self_reset, flags); } -static int bnxt_firmware_reset_chip(struct net_device *dev) +static int bnxt_firmware_reset_chip(struct net_device *dev, bool hot_reset) { - struct bnxt *bp = netdev_priv(dev); u8 flags = 0; - if (bp->fw_cap & BNXT_FW_CAP_HOT_RESET) + if (hot_reset) flags = FW_RESET_REQ_FLAGS_RESET_GRACEFUL; return bnxt_hwrm_firmware_reset(dev, @@ -3082,7 +3081,7 @@ static void bnxt_self_test(struct net_device *dev, struct ethtool_test *etest, static int bnxt_reset(struct net_device *dev, u32 *flags) { struct bnxt *bp = netdev_priv(dev); - bool reload = false; + bool reload = false, hot_reset; u32 req = *flags; if (!req) @@ -3093,8 +3092,10 @@ static int bnxt_reset(struct net_device *dev, u32 *flags) return -EOPNOTSUPP; } - if (pci_vfs_assigned(bp->pdev) && - !(bp->fw_cap & BNXT_FW_CAP_HOT_RESET)) { + if (bnxt_hwrm_get_hot_reset(bp, &hot_reset)) + hot_reset = !!(bp->fw_cap & BNXT_FW_CAP_HOT_RESET); + + if (pci_vfs_assigned(bp->pdev) && !hot_reset) { netdev_err(dev, "Reset not allowed when VFs are assigned to VMs\n"); return -EBUSY; @@ -3103,9 +3104,9 @@ static int bnxt_reset(struct net_device *dev, u32 *flags) if ((req & BNXT_FW_RESET_CHIP) == BNXT_FW_RESET_CHIP) { /* This feature is not supported in older firmware versions */ if (bp->hwrm_spec_code >= 0x10803) { - if (!bnxt_firmware_reset_chip(dev)) { + if (!bnxt_firmware_reset_chip(dev, hot_reset)) { netdev_info(dev, "Firmware reset request successful.\n"); - if (!(bp->fw_cap & BNXT_FW_CAP_HOT_RESET)) + if (!hot_reset) reload = true; *flags &= ~BNXT_FW_RESET_CHIP; }