samples: mei: don't wait on read completion upon write.
[linux-2.6-microblaze.git] / net / sunrpc / sched.c
index 39ed0e0..c045f63 100644 (file)
@@ -591,11 +591,21 @@ static struct rpc_task *__rpc_find_next_queued_priority(struct rpc_wait_queue *q
        struct list_head *q;
        struct rpc_task *task;
 
+       /*
+        * Service the privileged queue.
+        */
+       q = &queue->tasks[RPC_NR_PRIORITY - 1];
+       if (queue->maxpriority > RPC_PRIORITY_PRIVILEGED && !list_empty(q)) {
+               task = list_first_entry(q, struct rpc_task, u.tk_wait.list);
+               goto out;
+       }
+
        /*
         * 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;
        }