* re: mlx5: Add driver for Mellanox Connect-IB adapters @ 2013-07-10 10:54 Dan Carpenter [not found] ` <20130710105415.GA31232-dZEljifmRObu9KfB+GxooP8+0UxHXcjY@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Dan Carpenter @ 2013-07-10 10:54 UTC (permalink / raw) To: eli; +Cc: linux-rdma, linux-sparse --- Side note: Sparse should warn about endian bugs but in linux-next endian checking is disabled because we hit: include/uapi/linux/swab.h:71:16: error: undefined identifier '__builtin_bswap64' include/uapi/linux/swab.h:71:33: error: not a function <noident> do_error() in Sparse disables warning messages. I feel like we shouldn't do that. /* Shut up warnings after an error */ max_warnings = 0; --- Hello Eli Cohen, The patch e126ba97dba9: "mlx5: Add driver for Mellanox Connect-IB adapters" from Jul 7, 2013, has an endian related bug: drivers/net/ethernet/mellanox/mlx5/core/main.c 214 memset(&set_out, 0, sizeof(set_out)); 215 set_ctx->hca_cap.uar_page_sz = cpu_to_be16(PAGE_SHIFT - 12); ^^^^^^^^^^^^^^^^^^^ This is defined in the header as be32 but we are saving a be16 to it. My guess is the header is correct and the be16 is wrong. 216 set_ctx->hdr.opcode = cpu_to_be16(MLX5_CMD_OP_SET_HCA_CAP); 217 err = mlx5_cmd_exec(dev, set_ctx, sizeof(*set_ctx), 218 &set_out, sizeof(set_out)); regards, dan carpenter ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20130710105415.GA31232-dZEljifmRObu9KfB+GxooP8+0UxHXcjY@public.gmane.org>]
* Re: mlx5: Add driver for Mellanox Connect-IB adapters [not found] ` <20130710105415.GA31232-dZEljifmRObu9KfB+GxooP8+0UxHXcjY@public.gmane.org> @ 2013-07-10 11:28 ` Or Gerlitz 2013-07-10 20:16 ` Josh Triplett 1 sibling, 0 replies; 3+ messages in thread From: Or Gerlitz @ 2013-07-10 11:28 UTC (permalink / raw) To: Dan Carpenter Cc: eli-VPRAkNaXOzVWk0Htik3J/w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, linux-sparse-u79uwXL29TY76Z2rM5mHXA, Fengguang Wu On 10/07/2013 13:54, Dan Carpenter wrote: > --- > Side note: Sparse should warn about endian bugs but in linux-next > endian checking is disabled because we hit: > > include/uapi/linux/swab.h:71:16: error: undefined identifier '__builtin_bswap64' > include/uapi/linux/swab.h:71:33: error: not a function <noident> > > do_error() in Sparse disables warning messages. I feel like we > shouldn't do that. > > /* Shut up warnings after an error */ > max_warnings = 0; > --- > > Hello Eli Cohen, > > The patch e126ba97dba9: "mlx5: Add driver for Mellanox Connect-IB > adapters" from Jul 7, 2013, has an endian related bug: > > drivers/net/ethernet/mellanox/mlx5/core/main.c > 214 memset(&set_out, 0, sizeof(set_out)); > 215 set_ctx->hca_cap.uar_page_sz = cpu_to_be16(PAGE_SHIFT - 12); > ^^^^^^^^^^^^^^^^^^^ > This is defined in the header as be32 but we are saving a be16 to it. > My guess is the header is correct and the be16 is wrong. > > 216 set_ctx->hdr.opcode = cpu_to_be16(MLX5_CMD_OP_SET_HCA_CAP); > 217 err = mlx5_cmd_exec(dev, set_ctx, sizeof(*set_ctx), > 218 &set_out, sizeof(set_out)); > > regards, > dan carpenter > Dan, this sparse catch was reported earlier by Fengguang Wu <fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, we have a fix, will send now Or. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: mlx5: Add driver for Mellanox Connect-IB adapters [not found] ` <20130710105415.GA31232-dZEljifmRObu9KfB+GxooP8+0UxHXcjY@public.gmane.org> 2013-07-10 11:28 ` Or Gerlitz @ 2013-07-10 20:16 ` Josh Triplett 1 sibling, 0 replies; 3+ messages in thread From: Josh Triplett @ 2013-07-10 20:16 UTC (permalink / raw) To: Dan Carpenter Cc: eli-VPRAkNaXOzVWk0Htik3J/w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, linux-sparse-u79uwXL29TY76Z2rM5mHXA On Wed, Jul 10, 2013 at 01:54:15PM +0300, Dan Carpenter wrote: > --- > Side note: Sparse should warn about endian bugs but in linux-next > endian checking is disabled because we hit: > > include/uapi/linux/swab.h:71:16: error: undefined identifier '__builtin_bswap64' > include/uapi/linux/swab.h:71:33: error: not a function <noident> > > do_error() in Sparse disables warning messages. I feel like we > shouldn't do that. No, I think that's the correct behavior: sparse should only generate *errors* rather than warnings when it hits something that prevents it from handling some chunk of code, in which case we'd get a huge number of spurious warnings if not suppressed. In any case, current Sparse has __builtin_bswap64, so you shouldn't get that error. - Josh Triplett -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-10 20:16 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-07-10 10:54 mlx5: Add driver for Mellanox Connect-IB adapters Dan Carpenter [not found] ` <20130710105415.GA31232-dZEljifmRObu9KfB+GxooP8+0UxHXcjY@public.gmane.org> 2013-07-10 11:28 ` Or Gerlitz 2013-07-10 20:16 ` Josh Triplett
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).