mlx5: avoid 64-bit division in dr_icm_pool_mr_create()
authorMichal Kubecek <mkubecek@suse.cz>
Wed, 2 Oct 2019 12:12:41 +0000 (14:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Oct 2019 15:08:20 +0000 (11:08 -0400)
commit8b6b82ad163b54a23f0e89710fb25461d45109c4
tree048b71539c9889066a468e5db408271eaebbe7cd
parente95584a889e1902fdf1ded9712e2c3c3083baf96
mlx5: avoid 64-bit division in dr_icm_pool_mr_create()

Recently added code introduces 64-bit division in dr_icm_pool_mr_create()
so that build on 32-bit architectures fails with

  ERROR: "__umoddi3" [drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko] undefined!

As the divisor is always a power of 2, we can use bitwise operation
instead.

Fixes: 29cf8febd185 ("net/mlx5: DR, ICM pool memory allocator")
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_icm_pool.c