diff --git a/fs/pipe.c b/fs/pipe.c
index 4d0799e4e719..bc683599a5bf 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -396,6 +396,9 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to)
 	}
 	if (pipe_is_empty(pipe))
 		wake_next_reader = false;
+
+	wake_writer = pipe_full(pipe->head, pipe->tail, pipe->max_usage);;
+
 	mutex_unlock(&pipe->mutex);
 
 	if (wake_writer)