Re: [PATCH rdma] IB/mlx5: Fix linkage failure on 32-bit arches

From: Alexander Lobakin
Date: Fri Feb 14 2020 - 14:44:34 EST


Jason Gunthorpe wrote 14.02.2020 22:24:
On Fri, Feb 14, 2020 at 10:13:09PM +0300, Alexander Lobakin wrote:
Commit f164be8c0366 ("IB/mlx5: Extend caps stage to handle VAR
capabilities") introduced a straight "/" division of the u64
variable "bar_size", which emits an __udivdi3() libgcc call on
32-bit arches and certain GCC versions:

error: "__udivdi3" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined! [1]

Replace it with the corresponding div_u64() call.
Compile-tested on ARCH=mips 32r2el_defconfig BOARDS=ocelot.

[1] https://lore.kernel.org/linux-mips/CAMuHMdXM9S1VkFMZ8eDAyZR6EE4WkJY215Lcn2qdOaPeadF+EQ@xxxxxxxxxxxxxx/

Fixes: f164be8c0366 ("IB/mlx5: Extend caps stage to handle VAR
capabilities")
Signed-off-by: Alexander Lobakin <alobakin@xxxxxxxx>
---
drivers/infiniband/hw/mlx5/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Randy beat you too it..

https://lore.kernel.org/linux-rdma/20200206143201.GF25297@xxxxxxxx/

Ah, OK. Sorry for missing this one. I didn't see any fix over
git.kernel.org and thought it doesn't exist yet.

But it seems patchwork missed this somehow.

Applied now at least

Thanks!

Jason

Regards,
á á á á á á