diff --git a/sched/sched/sched_setpriority.c b/sched/sched/sched_setpriority.c index 842926fc7df..a8a1b6d3605 100644 --- a/sched/sched/sched_setpriority.c +++ b/sched/sched/sched_setpriority.c @@ -58,7 +58,6 @@ static FAR struct tcb_s *nxsched_nexttcb(FAR struct tcb_s *tcb) { FAR struct tcb_s *nxttcb = (FAR struct tcb_s *)tcb->flink; FAR struct tcb_s *rtrtcb; - int cpu = this_cpu(); /* Which task should run next? It will be either the next tcb in the * assigned task list (nxttcb) or a TCB in the g_readytorun list. We can @@ -69,12 +68,12 @@ static FAR struct tcb_s *nxsched_nexttcb(FAR struct tcb_s *tcb) * then use the 'nxttcb' which will probably be the IDLE thread. */ - if (!nxsched_islocked_global() && !irq_cpu_locked(cpu)) + if (!nxsched_islocked_global() && !irq_cpu_locked(this_cpu())) { /* Search for the highest priority task that can run on this CPU. */ for (rtrtcb = (FAR struct tcb_s *)g_readytorun.head; - rtrtcb != NULL && !CPU_ISSET(cpu, &rtrtcb->affinity); + rtrtcb != NULL && !CPU_ISSET(tcb->cpu, &rtrtcb->affinity); rtrtcb = (FAR struct tcb_s *)rtrtcb->flink); /* Return the TCB from the readyt-to-run list if it is the next