summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorHans Verkuil <hansverk@cisco.com>2016-12-09 11:54:06 -0200
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-12-21 07:01:12 -0200
commit7af26f889eb67db272021a939f7d4a57e96dd961 (patch)
tree4adce7cbb0208f9e44ff86f46cd3593815ce8b66 /drivers/media
parenta24f56d47930492c94ef6875bf45adf7607ca1a4 (diff)
downloadlinux-7af26f889eb67db272021a939f7d4a57e96dd961.tar.gz
linux-7af26f889eb67db272021a939f7d4a57e96dd961.tar.xz
[media] cec: update log_addr[] before finishing configuration
The loop that sets the unused logical addresses to INVALID should be done before 'configured' is set to true. This ensures that cec_log_addrs is consistent before it will be used. Signed-off-by: Hans Verkuil <hansverk@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/cec/cec-adap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/cec/cec-adap.c b/drivers/media/cec/cec-adap.c
index c05956fdd500..f3fef487f28d 100644
--- a/drivers/media/cec/cec-adap.c
+++ b/drivers/media/cec/cec-adap.c
@@ -1250,6 +1250,8 @@ configured:
for (i = 1; i < las->num_log_addrs; i++)
las->log_addr[i] = CEC_LOG_ADDR_INVALID;
}
+ for (i = las->num_log_addrs; i < CEC_MAX_LOG_ADDRS; i++)
+ las->log_addr[i] = CEC_LOG_ADDR_INVALID;
adap->is_configured = true;
adap->is_configuring = false;
cec_post_state_event(adap);
@@ -1268,8 +1270,6 @@ configured:
cec_report_features(adap, i);
cec_report_phys_addr(adap, i);
}
- for (i = las->num_log_addrs; i < CEC_MAX_LOG_ADDRS; i++)
- las->log_addr[i] = CEC_LOG_ADDR_INVALID;
mutex_lock(&adap->lock);
adap->kthread_config = NULL;
mutex_unlock(&adap->lock);