]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[PATCH] git-netdev-all: s2io fixes
authorAndrew Morton <akpm@osdl.org>
Fri, 3 Feb 2006 09:45:12 +0000 (01:45 -0800)
committerJeff Garzik <jgarzik@pobox.com>
Tue, 7 Feb 2006 07:51:40 +0000 (02:51 -0500)
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>
drivers/net/s2io.c

index 4e392914971e2389654859b6ca78df93ed6b6d63..e7a9b0d32a1850813490d7849f1c14347f4b14e7 100644 (file)
@@ -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)