--- x/drivers/media/cec/core/cec-adap.c +++ y/drivers/media/cec/core/cec-adap.c @@ -1592,8 +1592,6 @@ static void cec_claim_log_addrs(struct c if (WARN_ON(adap->is_configuring || adap->is_configured)) return; - init_completion(&adap->config_completion); - /* Ready to kick off the thread */ adap->is_configuring = true; adap->kthread_config = kthread_run(cec_config_thread_func, adap, --- x/drivers/media/cec/core/cec-core.c +++ y/drivers/media/cec/core/cec-core.c @@ -284,6 +284,7 @@ struct cec_adapter *cec_allocate_adapter mutex_init(&adap->lock); INIT_LIST_HEAD(&adap->transmit_queue); INIT_LIST_HEAD(&adap->wait_queue); + init_completion(&adap->config_completion); init_waitqueue_head(&adap->kthread_waitq); /* adap->devnode initialization */