diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2016-06-20 22:38:01 +0200 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2016-06-20 23:07:31 +0200 |
commit | 65a22d84ad1a921751ac9e5a1a5b52dad6967e16 (patch) | |
tree | ad4c581f2eefb65070f89320346289f16a169cd7 /target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch | |
parent | 4bd0edba1ea545954901d4f9e01db60a7d97a7bb (diff) | |
download | mtk-20170518-65a22d84ad1a921751ac9e5a1a5b52dad6967e16.zip mtk-20170518-65a22d84ad1a921751ac9e5a1a5b52dad6967e16.tar.gz mtk-20170518-65a22d84ad1a921751ac9e5a1a5b52dad6967e16.tar.bz2 |
kernel: backport bgmac changes from net-next
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Diffstat (limited to 'target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch')
-rw-r--r-- | target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch b/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch new file mode 100644 index 0000000..17a7ce0 --- /dev/null +++ b/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch @@ -0,0 +1,68 @@ +From 6d490f62a4c7f11c552591bdd08eda3636aa0db9 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli <f.fainelli@gmail.com> +Date: Tue, 7 Jun 2016 15:06:15 -0700 +Subject: [PATCH 3/3] bgmac: Maintain some netdev statistics + +Add a few netdev statistics to report transmitted and received bytes and +packets and a few obvious errors. + +Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/broadcom/bgmac.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/drivers/net/ethernet/broadcom/bgmac.c ++++ b/drivers/net/ethernet/broadcom/bgmac.c +@@ -246,6 +246,8 @@ err_dma_head: + + err_drop: + dev_kfree_skb(skb); ++ net_dev->stats.tx_dropped++; ++ net_dev->stats.tx_errors++; + return NETDEV_TX_OK; + } + +@@ -284,6 +286,8 @@ static void bgmac_dma_tx_free(struct bgm + DMA_TO_DEVICE); + + if (slot->skb) { ++ bgmac->net_dev->stats.tx_bytes += slot->skb->len; ++ bgmac->net_dev->stats.tx_packets++; + bytes_compl += slot->skb->len; + pkts_compl++; + +@@ -464,6 +468,7 @@ static int bgmac_dma_rx_read(struct bgma + bgmac_err(bgmac, "Found poisoned packet at slot %d, DMA issue!\n", + ring->start); + put_page(virt_to_head_page(buf)); ++ bgmac->net_dev->stats.rx_errors++; + break; + } + +@@ -471,6 +476,8 @@ static int bgmac_dma_rx_read(struct bgma + bgmac_err(bgmac, "Found oversized packet at slot %d, DMA issue!\n", + ring->start); + put_page(virt_to_head_page(buf)); ++ bgmac->net_dev->stats.rx_length_errors++; ++ bgmac->net_dev->stats.rx_errors++; + break; + } + +@@ -481,6 +488,7 @@ static int bgmac_dma_rx_read(struct bgma + if (unlikely(!skb)) { + bgmac_err(bgmac, "build_skb failed\n"); + put_page(virt_to_head_page(buf)); ++ bgmac->net_dev->stats.rx_errors++; + break; + } + skb_put(skb, BGMAC_RX_FRAME_OFFSET + +@@ -490,6 +498,8 @@ static int bgmac_dma_rx_read(struct bgma + + skb_checksum_none_assert(skb); + skb->protocol = eth_type_trans(skb, bgmac->net_dev); ++ bgmac->net_dev->stats.rx_bytes += len; ++ bgmac->net_dev->stats.rx_packets++; + napi_gro_receive(&bgmac->napi, skb); + handled++; + } while (0); |