On Mon, May 10, 2021 at 05:08:40PM +0800, Zhen Lei wrote: > The statement of the last "if (xxx)" branch is the same as the "else" > branch. Delete it to simplify code. > > No functional change. > > Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> > --- > drivers/infiniband/core/cm.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c > index 0ead0d223154011..510beb25f5b8a0b 100644 > --- a/drivers/infiniband/core/cm.c > +++ b/drivers/infiniband/core/cm.c > @@ -668,8 +668,6 @@ static struct cm_id_private *cm_insert_listen(struct cm_id_private *cm_id_priv, > link = &(*link)->rb_right; > else if (be64_lt(service_id, cur_cm_id_priv->id.service_id)) > link = &(*link)->rb_left; > - else if (be64_gt(service_id, cur_cm_id_priv->id.service_id)) > - link = &(*link)->rb_right; > else > link = &(*link)->rb_right; > } > @@ -700,8 +698,6 @@ static struct cm_id_private *cm_find_listen(struct ib_device *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; > } I don't like this, if you want to reorganize this function then it should be written in the normal pattern for this kind of comparision if (a < b) .. else if (a > b) .. else // a == b .. You can see the a==b clause written explicitly above this if ladder: if ((cur_cm_id_priv->id.service_mask & service_id) == (service_mask & cur_cm_id_priv->id.service_id) && (cm_id_priv->id.device == cur_cm_id_priv->id.device)) { Which is why the trailing else is just unexectuable code. Jason