diff options
Diffstat (limited to 'fs/fifo.c')
| -rw-r--r-- | fs/fifo.c | 7 |
1 files changed, 1 insertions, 6 deletions
| @@ -34,10 +34,7 @@ static int fifo_open(struct inode *inode, struct file *filp) | |||
| 34 | { | 34 | { |
| 35 | int ret; | 35 | int ret; |
| 36 | 36 | ||
| 37 | ret = -ERESTARTSYS; | 37 | mutex_lock(PIPE_MUTEX(*inode)); |
| 38 | if (mutex_lock_interruptible(PIPE_MUTEX(*inode))) | ||
| 39 | goto err_nolock_nocleanup; | ||
| 40 | |||
| 41 | if (!inode->i_pipe) { | 38 | if (!inode->i_pipe) { |
| 42 | ret = -ENOMEM; | 39 | ret = -ENOMEM; |
| 43 | if(!pipe_new(inode)) | 40 | if(!pipe_new(inode)) |
| @@ -140,8 +137,6 @@ err: | |||
| 140 | 137 | ||
| 141 | err_nocleanup: | 138 | err_nocleanup: |
| 142 | mutex_unlock(PIPE_MUTEX(*inode)); | 139 | mutex_unlock(PIPE_MUTEX(*inode)); |
| 143 | |||
| 144 | err_nolock_nocleanup: | ||
| 145 | return ret; | 140 | return ret; |
| 146 | } | 141 | } |
| 147 | 142 | ||
