diff options
Diffstat (limited to 'fs/lockd/svclock.c')
| -rw-r--r-- | fs/lockd/svclock.c | 3 | 
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c index fb1a2bedbe9..8d80c990dff 100644 --- a/fs/lockd/svclock.c +++ b/fs/lockd/svclock.c @@ -289,7 +289,6 @@ static void nlmsvc_free_block(struct kref *kref)  	dprintk("lockd: freeing block %p...\n", block);  	/* Remove block from file's list of blocks */ -	mutex_lock(&file->f_mutex);  	list_del_init(&block->b_flist);  	mutex_unlock(&file->f_mutex); @@ -303,7 +302,7 @@ static void nlmsvc_free_block(struct kref *kref)  static void nlmsvc_release_block(struct nlm_block *block)  {  	if (block != NULL) -		kref_put(&block->b_count, nlmsvc_free_block); +		kref_put_mutex(&block->b_count, nlmsvc_free_block, &block->b_file->f_mutex);  }  /*  |