-
- /*
- * we're being careful to ensure that the kernel thread is
- * able to set our state to running as it exits before we
- * get to schedule()
+ /* If a previous call was interrupted, debug_complete->done
+ * might be elevated, and so we won't actually wait here.
+ * So we reinit the completion to ensure we wait for
+ * one thread to complete, though it might not be the one
+ * we start if there are overlaping thread.