summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Derr <simon.derr@bull.net>2012-09-17 15:16:29 +0200
committerEric Van Hensbergen <ericvh@gmail.com>2012-09-17 21:54:11 +0200
commit1957b3a86f8eb5ceab32e3aae99e2822258aa530 (patch)
tree111a02cd46b43a94b46ef144cb74ef321658197f
parent9P: Fix race in p9_read_work() (diff)
downloadlinux-1957b3a86f8eb5ceab32e3aae99e2822258aa530.tar.xz
linux-1957b3a86f8eb5ceab32e3aae99e2822258aa530.zip
9P: fix test at the end of p9_write_work()
At the end of p9_write_work() we want to test if there is still data to send. This means: - either the current request still has data to send (wsize != 0) - or there are requests in the unsent queue Signed-off-by: Simon Derr <simon.derr@bull.net> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
-rw-r--r--net/9p/trans_fd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index de1bbad0c7de..7088a94b2601 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -492,7 +492,7 @@ static void p9_write_work(struct work_struct *work)
if (m->wpos == m->wsize)
m->wpos = m->wsize = 0;
- if (m->wsize == 0 && !list_empty(&m->unsent_req_list)) {
+ if (m->wsize || !list_empty(&m->unsent_req_list)) {
if (test_and_clear_bit(Wpending, &m->wsched))
n = POLLOUT;
else