On Tue, Oct 11, 2016 at 4:57 AM, Saeed Mahameed <sae...@dev.mellanox.co.il> wrote: > On Tue, Oct 11, 2016 at 7:50 PM, David Laight <david.lai...@aculab.com> wrote: >> From: Tom Herbert >>> Sent: 11 October 2016 05:22 >> ... >>> Fix is to create MLX5_SET64_VCHK that takes an additional argument >>> that is a constant. There are two callers of MLX5_SET64 that are >>> trying to get a variable offset, change those to call MLX5_SET64_VCHK >>> passing pas[0] as the argument to use in the offset check. >> >> I think I'd separate the array index instead. >> Something like: >> >> #define MLX5_SET64_INDEXED(typ, p, fld, ndx, v) do { \ >> BUILD_BUG_ON(__mlx5_bit_off(typ, fld) % 64); \ >> __MLX5_SET64(typ, p, fld[ndx], v); \ >> } while (0) >> >> David > > Yes, I think this looks more natural, but instead MLX5_SET64_INDEXED, > I prefer to have 2 macros > MLX5_SET64(typ, p, fld, v) and MLX5_ARRAY_SET64(typ, p, fld, idx, v). > > Tom, do you want me to fix it ? > Please do.
> Thanks, > Saeed.