Subject: Re: next-20160816 build: 1 failures 2 warnings (next-20160816)

From: Leon Romanovsky <[email-masked]>
Date: Wed, 17 Aug 2016 08:44:03 +0300

On Tue, Aug 16, 2016 at 05:38:41PM +0100, Mark Brown wrote:
> On Tue, Aug 16, 2016 at 10:37:20AM +0100, Build bot for Mark Brown wrote:
> 
> Today's -next fails to build an ARM allmodconfig due to:
> 
> > 	arm-allmodconfig
> > ../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:300:61: error: 'outb' undeclared (first use in this function)
> 
> which appears to be caused by 535e20f083e6 ({net,IB}/mlx5: QP/XRCD
> commands via mlx5 ifc).  outb() just isn't available as standard on ARM,
> it's not something that's meaningful for the hardware.

Thanks Mark for catching it.

It puzzles me how it passed all other compilations (internals and
externals) without failures. On my machine (x86-64), old and new
versions compile without errors.

This failure isn't related to OUT assembly instruction, but to typo in
pointer name declaration. It was declared as "u32 *out", but "outb" was
used.

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
index e587911..e94a953 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
@@ -297,7 +297,7 @@ static u64 qp_read_field(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp,
 	*is_str = 0;
 
 	/* FIXME: use MLX5_GET rather than mlx5_qp_context manual struct */
-	ctx = (struct mlx5_qp_context *)MLX5_ADDR_OF(query_qp_out, outb, qpc);
+	ctx = (struct mlx5_qp_context *)MLX5_ADDR_OF(query_qp_out, out, qpc);
 
 	switch (index) {
 	case QP_PID: