diff --git a/sys/kern/subr_gtaskqueue.c b/sys/kern/subr_gtaskqueue.c index 9423dd8..1a086c9 100644 --- a/sys/kern/subr_gtaskqueue.c +++ b/sys/kern/subr_gtaskqueue.c @@ -790,6 +790,7 @@ _taskqgroup_adjust(struct taskqgroup *qgroup, int cnt, int stride) while ((gtask = LIST_FIRST(>ask_head))) { LIST_REMOVE(gtask, gt_list); + qid=-1; if (gtask->gt_cpu == -1) qid = taskqgroup_find(qgroup, gtask->gt_uniq); else { @@ -799,6 +800,7 @@ _taskqgroup_adjust(struct taskqgroup *qgroup, int cnt, int stride) break; } } + KASSERT(qid != -1, ("_taskgroup_adjust: qid cannot be -1")); qgroup->tqg_queue[qid].tgc_cnt++; LIST_INSERT_HEAD(&qgroup->tqg_queue[qid].tgc_tasks, gtask, gt_list);