Index: sys/x86/x86/local_apic.c =================================================================== --- sys/x86/x86/local_apic.c +++ sys/x86/x86/local_apic.c @@ -1625,7 +1625,7 @@ * we don't lose an interrupt delivery race. */ td = curthread; - if (!rebooting) { + if (!(rebooting || cold)) { thread_lock(td); if (sched_is_bound(td)) panic("apic_free_vector: Thread already bound.\n"); @@ -1635,7 +1635,7 @@ mtx_lock_spin(&icu_lock); lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1; mtx_unlock_spin(&icu_lock); - if (!rebooting) { + if (!(rebooting || cold)) { thread_lock(td); sched_unbind(td); thread_unlock(td);