aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/s2io.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 4e392914971e..e7a9b0d32a18 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -64,6 +64,7 @@
64#include <asm/system.h> 64#include <asm/system.h>
65#include <asm/uaccess.h> 65#include <asm/uaccess.h>
66#include <asm/io.h> 66#include <asm/io.h>
67#include <asm/div64.h>
67 68
68/* local include */ 69/* local include */
69#include "s2io.h" 70#include "s2io.h"
@@ -5110,6 +5111,7 @@ static void s2io_get_ethtool_stats(struct net_device *dev,
5110 int i = 0; 5111 int i = 0;
5111 nic_t *sp = dev->priv; 5112 nic_t *sp = dev->priv;
5112 StatInfo_t *stat_info = sp->mac_control.stats_info; 5113 StatInfo_t *stat_info = sp->mac_control.stats_info;
5114 u64 tmp;
5113 5115
5114 s2io_updt_stats(sp); 5116 s2io_updt_stats(sp);
5115 tmp_stats[i++] = 5117 tmp_stats[i++] =
@@ -5205,12 +5207,12 @@ static void s2io_get_ethtool_stats(struct net_device *dev,
5205 tmp_stats[i++] = stat_info->sw_stat.sending_both; 5207 tmp_stats[i++] = stat_info->sw_stat.sending_both;
5206 tmp_stats[i++] = stat_info->sw_stat.outof_sequence_pkts; 5208 tmp_stats[i++] = stat_info->sw_stat.outof_sequence_pkts;
5207 tmp_stats[i++] = stat_info->sw_stat.flush_max_pkts; 5209 tmp_stats[i++] = stat_info->sw_stat.flush_max_pkts;
5208 if (stat_info->sw_stat.num_aggregations) 5210 tmp = 0;
5209 tmp_stats[i++] = stat_info->sw_stat.sum_avg_pkts_aggregated / 5211 if (stat_info->sw_stat.num_aggregations) {
5210 stat_info->sw_stat.num_aggregations; 5212 tmp = stat_info->sw_stat.sum_avg_pkts_aggregated;
5211 else 5213 do_div(tmp, stat_info->sw_stat.num_aggregations);
5212 tmp_stats[i++] = 0; 5214 }
5213 5215 tmp_stats[i++] = tmp;
5214} 5216}
5215 5217
5216static int s2io_ethtool_get_regs_len(struct net_device *dev) 5218static int s2io_ethtool_get_regs_len(struct net_device *dev)