When running checkpatch on cma.c the following error was found: ERROR: do not use assignment in if condition #413: FILE: drivers/infiniband/tmp.c:413: + if ((ret = (id_priv->state == comp))) This patch moves the assignment of ret to the previous line. The if statement then checks the value of ret assigned on the previous line. The assigned value of ret is not changed. Testing involved recompiling and loading the kernel. After the changes checkpatch does not report this the error in cma.c. Signed-off-by: Max Hirsch <max.hirsch@xxxxxxxxx> --- drivers/infiniband/core/cma.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index 25f2b70fd8ef..bdb7a8493517 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c @@ -410,7 +410,8 @@ static int cma_comp_exch(struct rdma_id_private *id_priv, int ret; spin_lock_irqsave(&id_priv->lock, flags); - if ((ret = (id_priv->state == comp))) + ret = (id_priv->state == comp); + if (ret) id_priv->state = exch; spin_unlock_irqrestore(&id_priv->lock, flags); return ret; -- 2.17.1