2018-10-17 18:36:09 +02:00
|
|
|
From 3280eb51202a8b6b4af55165b1b795fbd3c7318c Mon Sep 17 00:00:00 2001
|
2017-07-08 13:00:08 +02:00
|
|
|
From: Tim Niemeyer <tim@tn-x.org>
|
|
|
|
Date: Sat, 8 Jul 2017 10:48:53 +0200
|
2018-10-17 18:36:09 +02:00
|
|
|
Subject: [PATCH 4/4] ar71xx-4.9-l2tp-stats
|
2017-07-08 13:00:08 +02:00
|
|
|
|
|
|
|
---
|
|
|
|
...-stats-counter-overflow-on-32-bit-systems.patch | 38 ++++++++++++++++++++++
|
|
|
|
1 file changed, 38 insertions(+)
|
2018-10-17 18:36:09 +02:00
|
|
|
create mode 100644 target/linux/ar71xx/patches-4.9/fix-l2tp-stats-counter-overflow-on-32-bit-systems.patch
|
2017-07-08 13:00:08 +02:00
|
|
|
|
2018-10-17 18:36:09 +02:00
|
|
|
diff --git a/target/linux/ar71xx/patches-4.9/fix-l2tp-stats-counter-overflow-on-32-bit-systems.patch b/target/linux/ar71xx/patches-4.9/fix-l2tp-stats-counter-overflow-on-32-bit-systems.patch
|
2017-07-08 13:00:08 +02:00
|
|
|
new file mode 100644
|
|
|
|
index 0000000..4348aea
|
|
|
|
--- /dev/null
|
2018-10-17 18:36:09 +02:00
|
|
|
+++ b/target/linux/ar71xx/patches-4.9/fix-l2tp-stats-counter-overflow-on-32-bit-systems.patch
|
2017-05-30 12:21:14 +02:00
|
|
|
@@ -0,0 +1,38 @@
|
|
|
|
+From 19b1c8733b99f13005f2d8918bce588f0b2556f8 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: Dominik Heidler <dominik@heidler.eu>
|
|
|
|
+Date: Sat, 12 Mar 2016 18:37:42 +0100
|
|
|
|
+Subject: [PATCH] Fix l2tp stats couter on 32 Bit Systems
|
|
|
|
+
|
|
|
|
+---
|
|
|
|
+ net/l2tp/l2tp_eth.c | 9 +++++++++
|
|
|
|
+ 1 file changed, 9 insertions(+)
|
|
|
|
+
|
|
|
|
+diff --git a/net/l2tp/l2tp_eth.c b/net/l2tp/l2tp_eth.c
|
|
|
|
+index e253c26..a18c2ff 100644
|
|
|
|
+--- a/net/l2tp/l2tp_eth.c
|
|
|
|
++++ b/net/l2tp/l2tp_eth.c
|
|
|
|
+@@ -111,12 +111,21 @@ static struct rtnl_link_stats64 *l2tp_eth_get_stats64(struct net_device *dev,
|
|
|
|
+ {
|
|
|
|
+ struct l2tp_eth *priv = netdev_priv(dev);
|
|
|
|
+
|
|
|
|
++ #if BITS_PER_LONG == 64
|
|
|
|
+ stats->tx_bytes = atomic_long_read(&priv->tx_bytes);
|
|
|
|
+ stats->tx_packets = atomic_long_read(&priv->tx_packets);
|
|
|
|
+ stats->tx_dropped = atomic_long_read(&priv->tx_dropped);
|
|
|
|
+ stats->rx_bytes = atomic_long_read(&priv->rx_bytes);
|
|
|
|
+ stats->rx_packets = atomic_long_read(&priv->rx_packets);
|
|
|
|
+ stats->rx_errors = atomic_long_read(&priv->rx_errors);
|
|
|
|
++ #else
|
|
|
|
++ stats->tx_bytes = (unsigned long) atomic_long_read(&priv->tx_bytes);
|
|
|
|
++ stats->tx_packets = (unsigned long) atomic_long_read(&priv->tx_packets);
|
|
|
|
++ stats->tx_dropped = (unsigned long) atomic_long_read(&priv->tx_dropped);
|
|
|
|
++ stats->rx_bytes = (unsigned long) atomic_long_read(&priv->rx_bytes);
|
|
|
|
++ stats->rx_packets = (unsigned long) atomic_long_read(&priv->rx_packets);
|
|
|
|
++ stats->rx_errors = (unsigned long) atomic_long_read(&priv->rx_errors);
|
|
|
|
++ #endif
|
|
|
|
+ return stats;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+--
|
|
|
|
+2.7.2
|
|
|
|
+
|
2017-07-08 13:00:08 +02:00
|
|
|
--
|
2018-10-17 18:36:09 +02:00
|
|
|
2.7.4
|
2017-07-08 13:00:08 +02:00
|
|
|
|