summaryrefslogtreecommitdiff
path: root/kernel/sched/ext.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/ext.c')
-rw-r--r--kernel/sched/ext.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
index f9c0888ef279..5d6fdb31f18a 100644
--- a/kernel/sched/ext.c
+++ b/kernel/sched/ext.c
@@ -792,7 +792,7 @@ static void schedule_deferred(struct rq *rq)
return;
/* Don't do anything if there already is a deferred operation. */
- if (rq->scx.flags & SCX_RQ_BAL_PENDING)
+ if (rq->scx.flags & SCX_RQ_BAL_CB_PENDING)
return;
/*
@@ -4611,15 +4611,15 @@ static int scx_enable(struct sched_ext_ops *ops, struct bpf_link *link)
mutex_lock(&scx_enable_mutex);
- ret = alloc_kick_pseqs();
- if (ret)
- goto err_unlock;
-
if (scx_enable_state() != SCX_DISABLED) {
ret = -EBUSY;
- goto err_free_pseqs;
+ goto err_unlock;
}
+ ret = alloc_kick_pseqs();
+ if (ret)
+ goto err_unlock;
+
sch = scx_alloc_and_add_sched(ops);
if (IS_ERR(sch)) {
ret = PTR_ERR(sch);