diff --git a/fs/pipe.c b/fs/pipe.c index 731622d0738d..ca7a6746f8ef 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -356,8 +356,8 @@ anon_pipe_read(struct kiocb *iocb, struct iov_iter *to) buf->len = 0; } + wake_writer |= pipe_full(head, tail, pipe->max_usage); if (!buf->len) { - wake_writer |= pipe_full(head, tail, pipe->max_usage); tail = pipe_update_tail(pipe, buf, tail); } total_len -= chars;