On Mon, Sep 16, 2019 at 06:48:24PM +0000, Jason Gunthorpe wrote: > 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? Yep > > > 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