aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorThibaut VARENE <hacks@slashdirt.org>2017-08-04 12:32:04 +0200
committerJohn Crispin <john@phrozen.org>2017-09-01 09:30:35 +0200
commitc30a70fc9fbc968fb0563feef0e661e46b65300f (patch)
treeb9dae1dd8b6553935b26fd268058099638c36bb4 /target/linux/generic
parent0369e358916ef092a1644334f5dd1412051b68a4 (diff)
downloadupstream-c30a70fc9fbc968fb0563feef0e661e46b65300f.tar.gz
upstream-c30a70fc9fbc968fb0563feef0e661e46b65300f.tar.bz2
upstream-c30a70fc9fbc968fb0563feef0e661e46b65300f.zip
generic: make switch_port_stats tx/rx_bytes long long
This generic structure defines tx_bytes and rx_bytes as unsigned long (u32), while several devices would typically report unsigned long long (u64). The code can work as is, but there's a chance that with a sufficiently fast interface the overflow might happen too fast to be correctly noticed by the consumers of this data. This patch makes both field unsigned long long and updates the only known consumer of this data: swconfig_leds.c Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/files/drivers/net/phy/swconfig_leds.c2
-rw-r--r--target/linux/generic/files/include/linux/switch.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/swconfig_leds.c b/target/linux/generic/files/drivers/net/phy/swconfig_leds.c
index dad3c393a0..20b9a12a54 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig_leds.c
+++ b/target/linux/generic/files/drivers/net/phy/swconfig_leds.c
@@ -36,7 +36,7 @@ struct switch_led_trigger {
struct delayed_work sw_led_work;
u32 port_mask;
u32 port_link;
- unsigned long port_traffic[SWCONFIG_LED_NUM_PORTS];
+ unsigned long long port_traffic[SWCONFIG_LED_NUM_PORTS];
u8 link_speed[SWCONFIG_LED_NUM_PORTS];
};
diff --git a/target/linux/generic/files/include/linux/switch.h b/target/linux/generic/files/include/linux/switch.h
index f8380b98c5..4e6238470d 100644
--- a/target/linux/generic/files/include/linux/switch.h
+++ b/target/linux/generic/files/include/linux/switch.h
@@ -59,8 +59,8 @@ struct switch_port_link {
};
struct switch_port_stats {
- unsigned long tx_bytes;
- unsigned long rx_bytes;
+ unsigned long long tx_bytes;
+ unsigned long long rx_bytes;
};
/**