From patchwork Mon Nov 16 00:27:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1400606 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=V0JoSfAo; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CZ90d5BMgz9sTL for ; Mon, 16 Nov 2020 11:28:33 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728254AbgKPA2P (ORCPT ); Sun, 15 Nov 2020 19:28:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726311AbgKPA2P (ORCPT ); Sun, 15 Nov 2020 19:28:15 -0500 Received: from mail-pf1-x444.google.com (mail-pf1-x444.google.com [IPv6:2607:f8b0:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D9B6C0613CF for ; Sun, 15 Nov 2020 16:28:15 -0800 (PST) Received: by mail-pf1-x444.google.com with SMTP id y7so11955239pfq.11 for ; Sun, 15 Nov 2020 16:28:15 -0800 (PST) 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=eh95oG6m78nGWcDQKnSbVSOp6jJ+eezsqO/KsSw4K9k=; b=V0JoSfAo/W/rRJtr6SbxHKeQNA5gMhMt2+yP07b74qa7F/y9lvbVlDdXmUhZlpclLn xAqGQT3In86hgTd+vbNGOxmNEhvrxMMRRRAfkZR8fczmTupzMfZqKydvONqDbupLk6gC MO1aSRK+XiHNTVVHqAQIuHSML3Vo71skREmPc= 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=eh95oG6m78nGWcDQKnSbVSOp6jJ+eezsqO/KsSw4K9k=; b=pbua8TQnq5KcjvQb/5zvF97tEQv6RfO5vsmcY86rvFnHFgBBWgfSC9g95UeJH6JJ/h KGz1OyRIakZDlGoZENsOATuiXpZhfETU2QFkQMqiyvmG8h6JaE0dAa9dbK4v6OYXvsx2 91bZI12ZOHl207KW3/+rIfpqlQkgisFk/jTvPcGFa2WGKd7e9uCUYiTYPrN7DseV/bon u3OI8oymONOvGJgDeF2WZzjUDhc45Do5m2BT9UJqZTwrwgfPjsdmmMTdaKckd90+jPXd +JO/2ENL7zCwQc04QGAVDbrGD6BGGmShpM1quloTOmHPosLM4i9u5DYgxv7QhBR/No79 mO8g== X-Gm-Message-State: AOAM531Ujd4qXYsHo+JxoTSPDqJeGX9HVhhP5YSS64zrgA9at6AFH7vy IuC3z7JGrQ3UN85ngt5zDDd+i8kI4eHl0g== X-Google-Smtp-Source: ABdhPJwBwnXTAu0dnVo8b0dfZiHspbNZWhQh7SVwz+HKUZIAvSyx7VNeZCtUaK2NHWuWx6ADtgOoHQ== X-Received: by 2002:a17:90a:3cc4:: with SMTP id k4mr6492780pjd.106.1605486494567; Sun, 15 Nov 2020 16:28:14 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id i19sm2942563pgk.44.2020.11.15.16.28.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 Nov 2020 16:28:14 -0800 (PST) From: Michael Chan To: kuba@kernel.org Cc: netdev@vger.kernel.org, gospo@broadcom.com Subject: [PATCH net 2/4] bnxt_en: Free port stats during firmware reset. Date: Sun, 15 Nov 2020 19:27:50 -0500 Message-Id: <1605486472-28156-3-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1605486472-28156-1-git-send-email-michael.chan@broadcom.com> References: <1605486472-28156-1-git-send-email-michael.chan@broadcom.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Firmware is unable to retain the port counters during any kind of fatal or non-fatal resets, so we must clear the port counters to avoid false detection of port counter overflow. Fixes: fea6b3335527 ("bnxt_en: Accumulate all counters.") Reviewed-by: Edwin Peer Reviewed-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 7975f59735d6..448e1ba762ee 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -4099,7 +4099,8 @@ static void bnxt_free_mem(struct bnxt *bp, bool irq_re_init) bnxt_free_ntp_fltrs(bp, irq_re_init); if (irq_re_init) { bnxt_free_ring_stats(bp); - if (!(bp->fw_cap & BNXT_FW_CAP_PORT_STATS_NO_RESET)) + if (!(bp->fw_cap & BNXT_FW_CAP_PORT_STATS_NO_RESET) || + test_bit(BNXT_STATE_IN_FW_RESET, &bp->state)) bnxt_free_port_stats(bp); bnxt_free_ring_grps(bp); bnxt_free_vnics(bp);