diff options
Diffstat (limited to 'fs/pipe.c')
| -rw-r--r-- | fs/pipe.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/pipe.c b/fs/pipe.c index abaa9234d27..d4b97e4e37c 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -56,7 +56,7 @@ unsigned int pipe_min_size = PAGE_SIZE;  static void pipe_lock_nested(struct pipe_inode_info *pipe, int subclass)  {  	if (pipe->inode) -		mutex_lock_nested(&pipe->inode->i_mutex, subclass); +		mutex_lock_nested(&pipe->mutex, subclass);  }  void pipe_lock(struct pipe_inode_info *pipe) @@ -71,7 +71,7 @@ EXPORT_SYMBOL(pipe_lock);  void pipe_unlock(struct pipe_inode_info *pipe)  {  	if (pipe->inode) -		mutex_unlock(&pipe->inode->i_mutex); +		mutex_unlock(&pipe->mutex);  }  EXPORT_SYMBOL(pipe_unlock); @@ -777,6 +777,7 @@ struct pipe_inode_info * alloc_pipe_info(struct inode *inode)  			pipe->r_counter = pipe->w_counter = 1;  			pipe->inode = inode;  			pipe->buffers = PIPE_DEF_BUFFERS; +			mutex_init(&pipe->mutex);  			return pipe;  		}  		kfree(pipe);  |