diff mbox series

[linux-next] IB/cm:Change the conditional statements

Message ID 20220801023146.1594841-1-ye.xingchen@zte.com.cn (mailing list archive)
State Rejected
Delegated to: Jason Gunthorpe
Headers show
Series [linux-next] IB/cm:Change the conditional statements | expand

Commit Message

CGEL Aug. 1, 2022, 2:31 a.m. UTC
From: ye xingchen <ye.xingchen@zte.com.cn>

Conditional statements could changed to be easier explain.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn>
---
 drivers/infiniband/core/cm.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Mark Zhang Aug. 1, 2022, 2:41 a.m. UTC | #1
On 8/1/2022 10:31 AM, cgel.zte@gmail.com wrote:
> External email: Use caution opening links or attachments
> 
> 
> From: ye xingchen <ye.xingchen@zte.com.cn>
> 
> Conditional statements could changed to be easier explain.
> 
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn>
> ---
>   drivers/infiniband/core/cm.c | 9 ++-------
>   1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
> index b985e0d9bc05..6e323d0c0fce 100644
> --- a/drivers/infiniband/core/cm.c
> +++ b/drivers/infiniband/core/cm.c
> @@ -676,14 +676,9 @@ static struct cm_id_private *cm_find_listen(struct ib_device *device,
>                          refcount_inc(&cm_id_priv->refcount);
>                          return cm_id_priv;
>                  }
> -               if (device < cm_id_priv->id.device)
> +               if (device < cm_id_priv->id.device ||
> +                   be64_lt(service_id, cm_id_priv->id.service_id))
>                          node = node->rb_left;
> -               else if (device > cm_id_priv->id.device)
> -                       node = node->rb_right;
> -               else if (be64_lt(service_id, cm_id_priv->id.service_id))
> -                       node = node->rb_left;
> -               else if (be64_gt(service_id, cm_id_priv->id.service_id))
> -                       node = node->rb_right;
>                  else
>                          node = node->rb_right;
>          }
> --
> 2.25.1

This is not correct, ref.:
https://lore.kernel.org/lkml/20220624201733.GA284068@nvidia.com/t/
diff mbox series

Patch

diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index b985e0d9bc05..6e323d0c0fce 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -676,14 +676,9 @@  static struct cm_id_private *cm_find_listen(struct ib_device *device,
 			refcount_inc(&cm_id_priv->refcount);
 			return cm_id_priv;
 		}
-		if (device < cm_id_priv->id.device)
+		if (device < cm_id_priv->id.device ||
+		    be64_lt(service_id, cm_id_priv->id.service_id))
 			node = node->rb_left;
-		else if (device > cm_id_priv->id.device)
-			node = node->rb_right;
-		else if (be64_lt(service_id, cm_id_priv->id.service_id))
-			node = node->rb_left;
-		else if (be64_gt(service_id, cm_id_priv->id.service_id))
-			node = node->rb_right;
 		else
 			node = node->rb_right;
 	}