From: Paul Gortmaker Date: Sun, 15 Apr 2012 18:17:34 +0000 (+0000) Subject: drivers/net: fix unresolved 64bit math in mellanox/mlx4/en_dcb_nl.c X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=43c880dff302b30a17044a2d5e4d2f343bf493dc;p=openwrt%2Fstaging%2Fblogic.git drivers/net: fix unresolved 64bit math in mellanox/mlx4/en_dcb_nl.c Commit 109d2446052a484c58f07f71f9457bf7b71017f8 "net/mlx4_en: Set max rate-limit for a TC" introduced 64 bit math operations into mlx4_en_dcbnl_ieee_setmaxrate() causing the following final link failure on an x86_32 allmodconfig ERROR: "__udivdi3" [drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko] undefined! Convert it to use div_u64() instead. Cc: Amir Vadai Cc: David S. Miller Signed-off-by: Paul Gortmaker Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c b/drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c index 0cc6c9651473..5d36795877cb 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c @@ -32,6 +32,7 @@ */ #include +#include #include "mlx4_en.h" @@ -227,9 +228,9 @@ static int mlx4_en_dcbnl_ieee_setmaxrate(struct net_device *dev, /* Convert from Kbps into HW units, rounding result up. * Setting to 0, means unlimited BW. */ - tmp[i] = - (maxrate->tc_maxrate[i] + MLX4_RATELIMIT_UNITS_IN_KB - - 1) / MLX4_RATELIMIT_UNITS_IN_KB; + tmp[i] = div_u64(maxrate->tc_maxrate[i] + + MLX4_RATELIMIT_UNITS_IN_KB - 1, + MLX4_RATELIMIT_UNITS_IN_KB); } err = mlx4_en_config_port_scheduler(priv, NULL, tmp);