diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index 4beb6d2957c3..b8be7660b29a 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -617,7 +617,8 @@ static struct rpc_task *__rpc_find_next_queued_priority(struct rpc_wait_queue *q * Service a batch of tasks from a single owner. */ q = &queue->tasks[queue->priority]; - if (!list_empty(q) && --queue->nr) { + if (!list_empty(q) && queue->nr) { + queue->nr--; task = list_first_entry(q, struct rpc_task, u.tk_wait.list); goto out; }