diff options
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/dev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 74171d568621..0a69656402e5 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -468,8 +468,11 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req) fc->active_background--; flush_bg_queue(fc); spin_unlock(&fc->bg_lock); + } else { + /* Wake up waiter sleeping in request_wait_answer() */ + wake_up(&req->waitq); } - wake_up(&req->waitq); + if (req->end) req->end(fc, req); put_request: |