]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mlx4_core: Use div_u64 to avoid unresolved symbol on 32-bit OSes
authorVladimir Sokolovsky <vlad@mellanox.com>
Sun, 27 Oct 2013 12:03:59 +0000 (14:03 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:45:13 +0000 (14:45 -0700)
E.g.: On Xenserver6.1/2:
WARNING: "__udivdi3" [<path>/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko] undefined!

Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
(Ported from Mellanox OFED 2.4)

Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/net/ethernet/mellanox/mlx4/icm.c
drivers/net/ethernet/mellanox/mlx4/mr.c

index ff147bb7f33e4e26141a916fa1a616b083b60fef..d633e926cf8f3c0f7c2bff030ec18e007d296352 100644 (file)
@@ -394,7 +394,7 @@ int mlx4_init_icm_table(struct mlx4_dev *dev, struct mlx4_icm_table *table,
        u64 size;
 
        obj_per_chunk = MLX4_TABLE_CHUNK_SIZE / obj_size;
-       num_icm = (nobj + obj_per_chunk - 1) / obj_per_chunk;
+       num_icm = div_u64((nobj + obj_per_chunk - 1), obj_per_chunk);
 
        table->icm      = kcalloc(num_icm, sizeof *table->icm, GFP_KERNEL);
        if (!table->icm)
index 0ceb6a22f3a8e9de96209ba824ad443ee29b01f3..a5c68fb6ccd482ada061e5fabf54eb3a6a8c341c 100644 (file)
@@ -930,8 +930,8 @@ int mlx4_init_mr_table(struct mlx4_dev *dev)
                return err;
 
        err = mlx4_buddy_init(&mr_table->mtt_buddy,
-                             ilog2(dev->caps.num_mtts /
-                             (1 << log_mtts_per_seg)));
+                             ilog2(div_u64(dev->caps.num_mtts,
+                             (1 << log_mtts_per_seg))));
        if (err)
                goto err_buddy;