mlxsw: spectrum_qdisc: Fix 64-bit division error in mlxsw_sp_qdisc_tbf_rate_kbps
authorNathan Chancellor <natechancellor@gmail.com>
Fri, 31 Jan 2020 01:51:23 +0000 (18:51 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 31 Jan 2020 16:52:41 +0000 (08:52 -0800)
When building arm32 allmodconfig:

ERROR: "__aeabi_uldivmod"
[drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko] undefined!

rate_bytes_ps has type u64, we need to use a 64-bit division helper to
avoid a build error.

Fixes: a44f58c41bfb ("mlxsw: spectrum_qdisc: Support offloading of TBF Qdisc")
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Tested-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c

index 79a2801d59f60ace63d74f250d21f2735ca93a03..02526c53d4f5b88cc861ea3c65f0ac5e4f22cd98 100644 (file)
@@ -614,7 +614,7 @@ mlxsw_sp_qdisc_tbf_rate_kbps(struct tc_tbf_qopt_offload_replace_params *p)
        /* TBF interface is in bytes/s, whereas Spectrum ASIC is configured in
         * Kbits/s.
         */
-       return p->rate.rate_bytes_ps / 1000 * 8;
+       return div_u64(p->rate.rate_bytes_ps, 1000) * 8;
 }
 
 static int