On Sun, Jun 30, 2019 at 12:40:54AM +0000, Jason Gunthorpe wrote:
> On Tue, Jun 18, 2019 at 08:26:14PM +0300, Leon Romanovsky wrote:
>
> > +static void __rdma_counter_dealloc(struct rdma_counter *counter)
> > +{
> > +   mutex_lock(&counter->lock);
> > +   counter->device->ops.counter_dealloc(counter);
> > +   mutex_unlock(&counter->lock);
> > +}
>
> Does this lock do anything? The kref is 0 at this point, so no other
> thread can have a pointer to this lock.

Yes, it is leftover from atomic_read implementation.

>
> > +
> > +static void rdma_counter_dealloc(struct rdma_counter *counter)
> > +{
> > +   if (!counter)
> > +           return;
>
> Counter is never NULL.

Ohh, right, I'll clean some code near 
rdma_counter_dealloc/__rdma_counter_dealloc.

Thanks

>
> Jason

Reply via email to