[media] cec: fix test for unconfigured adapter in main message loop
The main message loop checks if the physical address was valid, and if not it is assumed that the adapter had been unconfigured. However, this check is no longer correct, instead it should check that both adap->is_configured and adap->is_configuring are false. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Родитель
11065f8531
Коммит
58ecc29b5e
|
@ -332,7 +332,7 @@ int cec_thread_func(void *_adap)
|
||||||
*/
|
*/
|
||||||
err = wait_event_interruptible_timeout(adap->kthread_waitq,
|
err = wait_event_interruptible_timeout(adap->kthread_waitq,
|
||||||
kthread_should_stop() ||
|
kthread_should_stop() ||
|
||||||
adap->phys_addr == CEC_PHYS_ADDR_INVALID ||
|
(!adap->is_configured && !adap->is_configuring) ||
|
||||||
(!adap->transmitting &&
|
(!adap->transmitting &&
|
||||||
!list_empty(&adap->transmit_queue)),
|
!list_empty(&adap->transmit_queue)),
|
||||||
msecs_to_jiffies(CEC_XFER_TIMEOUT_MS));
|
msecs_to_jiffies(CEC_XFER_TIMEOUT_MS));
|
||||||
|
@ -347,7 +347,7 @@ int cec_thread_func(void *_adap)
|
||||||
|
|
||||||
mutex_lock(&adap->lock);
|
mutex_lock(&adap->lock);
|
||||||
|
|
||||||
if (adap->phys_addr == CEC_PHYS_ADDR_INVALID ||
|
if ((!adap->is_configured && !adap->is_configuring) ||
|
||||||
kthread_should_stop()) {
|
kthread_should_stop()) {
|
||||||
/*
|
/*
|
||||||
* If the adapter is disabled, or we're asked to stop,
|
* If the adapter is disabled, or we're asked to stop,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче