diff options
Diffstat (limited to 'net/sunrpc/rpc_pipe.c')
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index a5c0c7b6e151..567abbe25bc8 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -91,7 +91,8 @@ rpc_queue_upcall(struct inode *inode, struct rpc_pipe_msg *msg) | |||
91 | res = 0; | 91 | res = 0; |
92 | } else if (rpci->flags & RPC_PIPE_WAIT_FOR_OPEN) { | 92 | } else if (rpci->flags & RPC_PIPE_WAIT_FOR_OPEN) { |
93 | if (list_empty(&rpci->pipe)) | 93 | if (list_empty(&rpci->pipe)) |
94 | schedule_delayed_work(&rpci->queue_timeout, | 94 | queue_delayed_work(rpciod_workqueue, |
95 | &rpci->queue_timeout, | ||
95 | RPC_UPCALL_TIMEOUT); | 96 | RPC_UPCALL_TIMEOUT); |
96 | list_add_tail(&msg->list, &rpci->pipe); | 97 | list_add_tail(&msg->list, &rpci->pipe); |
97 | rpci->pipelen += msg->len; | 98 | rpci->pipelen += msg->len; |
@@ -132,7 +133,7 @@ rpc_close_pipes(struct inode *inode) | |||
132 | if (ops->release_pipe) | 133 | if (ops->release_pipe) |
133 | ops->release_pipe(inode); | 134 | ops->release_pipe(inode); |
134 | cancel_delayed_work(&rpci->queue_timeout); | 135 | cancel_delayed_work(&rpci->queue_timeout); |
135 | flush_scheduled_work(); | 136 | flush_workqueue(rpciod_workqueue); |
136 | } | 137 | } |
137 | rpc_inode_setowner(inode, NULL); | 138 | rpc_inode_setowner(inode, NULL); |
138 | mutex_unlock(&inode->i_mutex); | 139 | mutex_unlock(&inode->i_mutex); |