diff options
author | Andrew Morton <akpm@osdl.org> | 2006-02-03 01:45:12 -0800 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2006-02-07 02:51:40 -0500 |
commit | fe9313956d67367cc91c5a6989bafc4315801402 (patch) | |
tree | c9bc140dcb92d8fa8a3afc6ce81e86d42882c289 | |
parent | 7d3d0439f574a4857c97b3ad2e63b082b7382d7e (diff) |
[PATCH] git-netdev-all: s2io fixes
Fix this:
drivers/built-in.o(.text+0x89469): In function `s2io_get_ethtool_stats':
drivers/net/s2io.c:5209: undefined reference to `__udivdi3'
Cc: Ravinandan Arakali <Ravinandan.Arakali@neterion.com>
Cc: Ananda Raju <Ananda.Raju@neterion.com>
Cc: Adrian Bunk <bunk@stusta.de>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-rw-r--r-- | drivers/net/s2io.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 4e392914971..e7a9b0d32a1 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -64,6 +64,7 @@ #include <asm/system.h> #include <asm/uaccess.h> #include <asm/io.h> +#include <asm/div64.h> /* local include */ #include "s2io.h" @@ -5110,6 +5111,7 @@ static void s2io_get_ethtool_stats(struct net_device *dev, int i = 0; nic_t *sp = dev->priv; StatInfo_t *stat_info = sp->mac_control.stats_info; + u64 tmp; s2io_updt_stats(sp); tmp_stats[i++] = @@ -5205,12 +5207,12 @@ static void s2io_get_ethtool_stats(struct net_device *dev, tmp_stats[i++] = stat_info->sw_stat.sending_both; tmp_stats[i++] = stat_info->sw_stat.outof_sequence_pkts; tmp_stats[i++] = stat_info->sw_stat.flush_max_pkts; - if (stat_info->sw_stat.num_aggregations) - tmp_stats[i++] = stat_info->sw_stat.sum_avg_pkts_aggregated / - stat_info->sw_stat.num_aggregations; - else - tmp_stats[i++] = 0; - + tmp = 0; + if (stat_info->sw_stat.num_aggregations) { + tmp = stat_info->sw_stat.sum_avg_pkts_aggregated; + do_div(tmp, stat_info->sw_stat.num_aggregations); + } + tmp_stats[i++] = tmp; } static int s2io_ethtool_get_regs_len(struct net_device *dev) |