On Mon, Sep 16, 2019 at 10:11:53AM +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > Properly unwind QP counter rebinding in case of failure. What is the actual problem here? Calling 'bind' in an error unwind seems insane, is that the issue? > Fixes: b389327df905 ("RDMA/nldev: Allow counter manual mode configration through RDMA netlink") > Reviewed-by: Mark Zhang <markz@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > drivers/infiniband/core/nldev.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c > index 5e2b7eb0761b..6eb14481a72e 100644 > +++ b/drivers/infiniband/core/nldev.c > @@ -1860,24 +1860,22 @@ static int nldev_stat_del_doit(struct sk_buff *skb, struct nlmsghdr *nlh, > > cntn = nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID]); > qpn = nla_get_u32(tb[RDMA_NLDEV_ATTR_RES_LQPN]); > - ret = rdma_counter_unbind_qpn(device, port, qpn, cntn); > - if (ret) > - goto err_unbind; > - > if (fill_nldev_handle(msg, device) || > nla_put_u32(msg, RDMA_NLDEV_ATTR_PORT_INDEX, port) || > nla_put_u32(msg, RDMA_NLDEV_ATTR_STAT_COUNTER_ID, cntn) || > nla_put_u32(msg, RDMA_NLDEV_ATTR_RES_LQPN, qpn)) { > ret = -EMSGSIZE; > - goto err_fill; > + goto err_unbind; These label names don't make much sense anymore Jason