On Tue, Sep 10, 2019 at 7:56 PM Saeed Mahameed <saeedm@xxxxxxxxxxxx> wrote: > > On Mon, 2019-09-09 at 21:50 +0200, Arnd Bergmann wrote: > > In mlx5, pointers to 'phys_addr_t' and 'u64' are mixed since the > > addition > > of the pool memory allocator, leading to incorrect behavior on 32-bit > > architectures and this compiler warning: > > > > drivers/net/ethernet/mellanox/mlx5/core/steering/dr_icm_pool.c:121:8: > > error: incompatible pointer types passing 'u64 *' (aka 'unsigned long > > long *') to parameter of type 'phys_addr_t *' (aka 'unsigned int *') > > [-Werror,-Wincompatible-pointer-types] > > &icm_mr->dm.addr, &icm_mr- > > >dm.obj_id); > > ^~~~~~~~~~~~~~~~ > > include/linux/mlx5/driver.h:1092:39: note: passing argument to > > parameter 'addr' here > > u64 length, u16 uid, phys_addr_t *addr, u32 > > *obj_id); > > > > Change the code to use 'u64' consistently in place of 'phys_addr_t' > > to > > fix this. The alternative of using phys_addr_t more would require a > > larger > > rework. > > > > Fixes: 29cf8febd185 ("net/mlx5: DR, ICM pool memory allocator") > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > > Hi Arnd, > > Nathan Chancellor Already submitted a patch to fix this and it is more > minimal: > https://patchwork.ozlabs.org/patch/1158177/ > > I would like to use that patch if it is ok with you.. Yes, please do. I think I had tried something like that initially and concluded it wasn't quite right before I went into a different direction with my patch. Looking at the two versions now, I also prefer Nathan's, and I just confirmed that it fixes all the randconfig failures I ran into. Arnd