|
@@ -245,14 +245,15 @@ static ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
|
|
|
pipe->waiting_writers--;
|
|
|
}
|
|
|
|
|
|
- if (pipe->inode)
|
|
|
+ if (pipe->inode) {
|
|
|
mutex_unlock(&pipe->inode->i_mutex);
|
|
|
|
|
|
- if (do_wakeup) {
|
|
|
- smp_mb();
|
|
|
- if (waitqueue_active(&pipe->wait))
|
|
|
- wake_up_interruptible(&pipe->wait);
|
|
|
- kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
|
|
|
+ if (do_wakeup) {
|
|
|
+ smp_mb();
|
|
|
+ if (waitqueue_active(&pipe->wait))
|
|
|
+ wake_up_interruptible(&pipe->wait);
|
|
|
+ kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
while (page_nr < spd_pages)
|