* 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).