The rdma_zalloc_drv_obj() in __ib_alloc_pd() would zero pd, it unnecessary
add NULL to the object in struct pd.
The uverbs_free_pd() already return busy if pd->usecnt is true, there is
no need to add a warning.
Link: https://lore.kernel.org/r/20220223074901.201506-1-yajun.deng@linux.dev
Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
                return ERR_PTR(-ENOMEM);
 
        pd->device = device;
-       pd->uobject = NULL;
-       pd->__internal_mr = NULL;
-       atomic_set(&pd->usecnt, 0);
        pd->flags = flags;
 
        rdma_restrack_new(&pd->res, RDMA_RESTRACK_PD);
                pd->__internal_mr = NULL;
        }
 
-       /* uverbs manipulates usecnt with proper locking, while the kabi
-        * requires the caller to guarantee we can't race here.
-        */
-       WARN_ON(atomic_read(&pd->usecnt));
-
        ret = pd->device->ops.dealloc_pd(pd, udata);
        if (ret)
                return ret;