From patchwork Wed Apr 5 10:32:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Pundir X-Patchwork-Id: 96826 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp196348qgd; Wed, 5 Apr 2017 03:34:25 -0700 (PDT) X-Received: by 10.98.217.140 with SMTP id b12mr28206499pfl.136.1491388465114; Wed, 05 Apr 2017 03:34:25 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l9si20203815pfi.300.2017.04.05.03.34.24; Wed, 05 Apr 2017 03:34:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933011AbdDEKeH (ORCPT + 6 others); Wed, 5 Apr 2017 06:34:07 -0400 Received: from mail-pg0-f47.google.com ([74.125.83.47]:35265 "EHLO mail-pg0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933163AbdDEKdc (ORCPT ); Wed, 5 Apr 2017 06:33:32 -0400 Received: by mail-pg0-f47.google.com with SMTP id 81so6032925pgh.2 for ; Wed, 05 Apr 2017 03:33:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Wx1vHvIgNYKWT5D1ylzbYtfsrrBH7Yk1egsYxj7/3bw=; b=L/q9prcG816RqPSQ67iWB6SgaBIckpMygaaCQgmc84nLusE0FA1Lcpt4kj6lTOSiPA lVsig4TfSti2U4h044FK8QV3YkwGDIgB9R9dPNuD8n/sNQ0HICx2/c6PkHaTjCXvumf+ B0FdyxpfSFWYDQUI6J9hMto332+9t/oxJqUaI= 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=Wx1vHvIgNYKWT5D1ylzbYtfsrrBH7Yk1egsYxj7/3bw=; b=fkitKmSpLZ6MRCjf4vky9Q/WIHmQVSt98pHjDVv07s5Gtt+wrWqWltnP71b5VggTMB NXUwA+XvGs0jkgWclNSufAcwtDwuLteOKmZrGvwS6Y4jo/UR/Lf3IYsa+CtJhxp45MCg CsUfIItcyXe2ewkC1F9+Eqp2Q9XjD/S+9bstdPZ8MZFcJdQn1j3EBr8Tq4M3v76GRG7o ZlRgR1BsF4bqa01f3UDuVs1egBRmq24zdmw6C7QIbXeMU1AHKO03nAU9LSJkYBiJCYik akI/qNCzLoqtkuHFskoB+P0ORD98GLa9TDF6t1c+NKZz0WTjtGHIlEb6uuiRd8VaasxI sUmw== X-Gm-Message-State: AFeK/H2VKGA5Psl08JaZfK8UUPuMz8CCWID7gAFYzz9LHPT4hX7yF1Gyjma9LfcU+H7M1AFT X-Received: by 10.99.103.5 with SMTP id b5mr29816700pgc.100.1491388412158; Wed, 05 Apr 2017 03:33:32 -0700 (PDT) Received: from localhost.localdomain ([106.51.240.246]) by smtp.gmail.com with ESMTPSA id a62sm36732075pgc.60.2017.04.05.03.33.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 05 Apr 2017 03:33:31 -0700 (PDT) From: Amit Pundir To: stable@vger.kernel.org Cc: gregkh@linuxfoundation.org, Tobias Klauser , Kalle Valo Subject: [PATCH v2 for-4.9 30/32] brcmfmac: Use net_device_stats from struct net_device Date: Wed, 5 Apr 2017 16:02:22 +0530 Message-Id: <1491388344-13521-31-git-send-email-amit.pundir@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1491388344-13521-1-git-send-email-amit.pundir@linaro.org> References: <1491388344-13521-1-git-send-email-amit.pundir@linaro.org> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Tobias Klauser Instead of using a private copy of struct net_device_stats in struct brcm_if, use stats from struct net_device. Also remove the now unnecessary .ndo_get_stats function. Signed-off-by: Tobias Klauser Acked-by: Arend van Spriel Signed-off-by: Kalle Valo (cherry picked from commit 91b632803ee4e47c5a5c4dc3d8bf5abf9c16107a) Signed-off-by: Amit Pundir --- .../wireless/broadcom/brcm80211/brcmfmac/core.c | 26 +++++++--------------- .../wireless/broadcom/brcm80211/brcmfmac/core.h | 2 -- 2 files changed, 8 insertions(+), 20 deletions(-) -- 2.7.4 diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c index 5eaac13..cf1ae5a 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c @@ -243,10 +243,10 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, done: if (ret) { - ifp->stats.tx_dropped++; + ndev->stats.tx_dropped++; } else { - ifp->stats.tx_packets++; - ifp->stats.tx_bytes += skb->len; + ndev->stats.tx_packets++; + ndev->stats.tx_bytes += skb->len; } /* Return ok: we always eat the packet */ @@ -290,15 +290,15 @@ void brcmf_txflowblock(struct device *dev, bool state) void brcmf_netif_rx(struct brcmf_if *ifp, struct sk_buff *skb) { if (skb->pkt_type == PACKET_MULTICAST) - ifp->stats.multicast++; + ifp->ndev->stats.multicast++; if (!(ifp->ndev->flags & IFF_UP)) { brcmu_pkt_buf_free_skb(skb); return; } - ifp->stats.rx_bytes += skb->len; - ifp->stats.rx_packets++; + ifp->ndev->stats.rx_bytes += skb->len; + ifp->ndev->stats.rx_packets++; brcmf_dbg(DATA, "rx proto=0x%X\n", ntohs(skb->protocol)); if (in_interrupt()) @@ -321,7 +321,7 @@ static int brcmf_rx_hdrpull(struct brcmf_pub *drvr, struct sk_buff *skb, if (ret || !(*ifp) || !(*ifp)->ndev) { if (ret != -ENODATA && *ifp) - (*ifp)->stats.rx_errors++; + (*ifp)->ndev->stats.rx_errors++; brcmu_pkt_buf_free_skb(skb); return -ENODATA; } @@ -382,7 +382,7 @@ void brcmf_txfinalize(struct brcmf_if *ifp, struct sk_buff *txp, bool success) } if (!success) - ifp->stats.tx_errors++; + ifp->ndev->stats.tx_errors++; brcmu_pkt_buf_free_skb(txp); } @@ -405,15 +405,6 @@ void brcmf_txcomplete(struct device *dev, struct sk_buff *txp, bool success) } } -static struct net_device_stats *brcmf_netdev_get_stats(struct net_device *ndev) -{ - struct brcmf_if *ifp = netdev_priv(ndev); - - brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx); - - return &ifp->stats; -} - static void brcmf_ethtool_get_drvinfo(struct net_device *ndev, struct ethtool_drvinfo *info) { @@ -486,7 +477,6 @@ static int brcmf_netdev_open(struct net_device *ndev) static const struct net_device_ops brcmf_netdev_ops_pri = { .ndo_open = brcmf_netdev_open, .ndo_stop = brcmf_netdev_stop, - .ndo_get_stats = brcmf_netdev_get_stats, .ndo_start_xmit = brcmf_netdev_start_xmit, .ndo_set_mac_address = brcmf_netdev_set_mac_address, .ndo_set_rx_mode = brcmf_netdev_set_multicast_list diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h index c94dcab..397c912 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h @@ -171,7 +171,6 @@ enum brcmf_netif_stop_reason { * @drvr: points to device related information. * @vif: points to cfg80211 specific interface information. * @ndev: associated network device. - * @stats: interface specific network statistics. * @multicast_work: worker object for multicast provisioning. * @ndoffload_work: worker object for neighbor discovery offload configuration. * @fws_desc: interface specific firmware-signalling descriptor. @@ -187,7 +186,6 @@ struct brcmf_if { struct brcmf_pub *drvr; struct brcmf_cfg80211_vif *vif; struct net_device *ndev; - struct net_device_stats stats; struct work_struct multicast_work; struct work_struct ndoffload_work; struct brcmf_fws_mac_descriptor *fws_desc;