mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-11-01 10:57:47 +00:00
120 lines
4.5 KiB
Diff
120 lines
4.5 KiB
Diff
From ff7b783e3ecad58a18fba135e56afead7ee05e13 Mon Sep 17 00:00:00 2001
|
|
From: Evelyn Tsai <evelyn.tsai@mediatek.com>
|
|
Date: Wed, 1 Nov 2023 07:50:56 +0800
|
|
Subject: [PATCH] mac80211: mtk: add packet count input for
|
|
dev_sw_netstat_rx_add
|
|
|
|
Signed-off-by: Evelyn Tsai <evelyn.tsai@mediatek.com>
|
|
---
|
|
backport-include/linux/netdevice.h | 6 ++++--
|
|
drivers/net/usb/qmi_wwan.c | 2 +-
|
|
drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c | 2 +-
|
|
drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c | 2 +-
|
|
net/mac80211/rx.c | 8 ++++----
|
|
5 files changed, 11 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/backport-include/linux/netdevice.h b/backport-include/linux/netdevice.h
|
|
index e177319..87fccdf 100644
|
|
--- a/backport-include/linux/netdevice.h
|
|
+++ b/backport-include/linux/netdevice.h
|
|
@@ -115,13 +115,15 @@ int netif_rx_any_context(struct sk_buff *skb);
|
|
|
|
#if LINUX_VERSION_IS_LESS(5,10,0)
|
|
#define dev_sw_netstats_rx_add LINUX_BACKPORT(dev_sw_netstats_rx_add)
|
|
-static inline void dev_sw_netstats_rx_add(struct net_device *dev, unsigned int len)
|
|
+static inline void dev_sw_netstats_rx_add(struct net_device *dev,
|
|
+ unsigned int packets,
|
|
+ unsigned int len)
|
|
{
|
|
struct pcpu_sw_netstats *tstats = this_cpu_ptr(dev->tstats);
|
|
|
|
u64_stats_update_begin(&tstats->syncp);
|
|
tstats->rx_bytes += len;
|
|
- tstats->rx_packets++;
|
|
+ tstats->rx_packets += packets;
|
|
u64_stats_update_end(&tstats->syncp);
|
|
}
|
|
#endif /* < 5.10 */
|
|
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
|
|
index df0852f..e754400 100644
|
|
--- a/drivers/net/usb/qmi_wwan.c
|
|
+++ b/drivers/net/usb/qmi_wwan.c
|
|
@@ -228,7 +228,7 @@ static int qmimux_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
|
|
net->stats.rx_errors++;
|
|
return 0;
|
|
} else {
|
|
- dev_sw_netstats_rx_add(net, pkt_len);
|
|
+ dev_sw_netstats_rx_add(net, 1, pkt_len);
|
|
}
|
|
|
|
skip:
|
|
diff --git a/drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c
|
|
index 840728e..b6fe82b 100644
|
|
--- a/drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c
|
|
+++ b/drivers/net/wireless/quantenna/qtnfmac/pcie/pearl_pcie.c
|
|
@@ -756,7 +756,7 @@ static int qtnf_pcie_pearl_rx_poll(struct napi_struct *napi, int budget)
|
|
skb_put(skb, psize);
|
|
ndev = qtnf_classify_skb(bus, skb);
|
|
if (likely(ndev)) {
|
|
- dev_sw_netstats_rx_add(ndev, skb->len);
|
|
+ dev_sw_netstats_rx_add(ndev, 1, skb->len);
|
|
skb->protocol = eth_type_trans(skb, ndev);
|
|
napi_gro_receive(napi, skb);
|
|
} else {
|
|
diff --git a/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
|
|
index 9534e1b..d15cfe0 100644
|
|
--- a/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
|
|
+++ b/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
|
|
@@ -662,7 +662,7 @@ static int qtnf_topaz_rx_poll(struct napi_struct *napi, int budget)
|
|
skb_put(skb, psize);
|
|
ndev = qtnf_classify_skb(bus, skb);
|
|
if (likely(ndev)) {
|
|
- dev_sw_netstats_rx_add(ndev, skb->len);
|
|
+ dev_sw_netstats_rx_add(ndev, 1, skb->len);
|
|
skb->protocol = eth_type_trans(skb, ndev);
|
|
netif_receive_skb(skb);
|
|
} else {
|
|
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
|
|
index 7304dbd..86d541b 100644
|
|
--- a/net/mac80211/rx.c
|
|
+++ b/net/mac80211/rx.c
|
|
@@ -856,7 +856,7 @@ ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb,
|
|
|
|
if (skb) {
|
|
skb->dev = sdata->dev;
|
|
- dev_sw_netstats_rx_add(skb->dev, skb->len);
|
|
+ dev_sw_netstats_rx_add(skb->dev, 1, skb->len);
|
|
netif_receive_skb(skb);
|
|
}
|
|
}
|
|
@@ -2643,7 +2643,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
|
|
|
|
if (!wiphy_ext_feature_isset(sdata->local->hw.wiphy,
|
|
NL80211_EXT_FEATURE_STAS_COUNT) || !rx->sta)
|
|
- dev_sw_netstats_rx_add(dev, skb->len);
|
|
+ dev_sw_netstats_rx_add(dev, 1, skb->len);
|
|
|
|
if (rx->sta) {
|
|
/* The seqno index has the same property as needed
|
|
@@ -3917,7 +3917,7 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx,
|
|
}
|
|
|
|
prev_dev = sdata->dev;
|
|
- dev_sw_netstats_rx_add(sdata->dev, skb->len);
|
|
+ dev_sw_netstats_rx_add(sdata->dev, 1, skb->len);
|
|
}
|
|
|
|
if (prev_dev) {
|
|
@@ -4549,7 +4549,7 @@ static void ieee80211_rx_8023(struct ieee80211_rx_data *rx,
|
|
|
|
if (!wiphy_ext_feature_isset(sta->local->hw.wiphy,
|
|
NL80211_EXT_FEATURE_STAS_COUNT))
|
|
- dev_sw_netstats_rx_add(fast_rx->dev, skb->len);
|
|
+ dev_sw_netstats_rx_add(fast_rx->dev, 1, skb->len);
|
|
|
|
/* The seqno index has the same property as needed
|
|
* for the rx_msdu field, i.e. it is IEEE80211_NUM_TIDS
|
|
--
|
|
2.18.0
|
|
|