aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sunrpc/sched.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 6357fcb00c7e..f494b356e876 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -343,7 +343,12 @@ void rpc_sleep_on(struct rpc_wait_queue *q, struct rpc_task *task,
343 rpc_action action) 343 rpc_action action)
344{ 344{
345 /* We shouldn't ever put an inactive task to sleep */ 345 /* We shouldn't ever put an inactive task to sleep */
346 BUG_ON(!RPC_IS_ACTIVATED(task)); 346 WARN_ON_ONCE(!RPC_IS_ACTIVATED(task));
347 if (!RPC_IS_ACTIVATED(task)) {
348 task->tk_status = -EIO;
349 rpc_put_task_async(task);
350 return;
351 }
347 352
348 /* 353 /*
349 * Protect the queue operations. 354 * Protect the queue operations.
@@ -358,7 +363,12 @@ void rpc_sleep_on_priority(struct rpc_wait_queue *q, struct rpc_task *task,
358 rpc_action action, int priority) 363 rpc_action action, int priority)
359{ 364{
360 /* We shouldn't ever put an inactive task to sleep */ 365 /* We shouldn't ever put an inactive task to sleep */
361 BUG_ON(!RPC_IS_ACTIVATED(task)); 366 WARN_ON_ONCE(!RPC_IS_ACTIVATED(task));
367 if (!RPC_IS_ACTIVATED(task)) {
368 task->tk_status = -EIO;
369 rpc_put_task_async(task);
370 return;
371 }
362 372
363 /* 373 /*
364 * Protect the queue operations. 374 * Protect the queue operations.