summaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2016-08-14 08:27:09 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-08-22 14:01:18 -0300
commit0c1d61b0e4ed68d125b21fed375c38b6e3c2a658 (patch)
tree4d9dbee2fc6ecf456f1c3d27d6cec05fa916d8ba /drivers/staging
parentdcceb1eaf210096831b14471bc87678375b086ed (diff)
downloadop-kernel-dev-0c1d61b0e4ed68d125b21fed375c38b6e3c2a658.zip
op-kernel-dev-0c1d61b0e4ed68d125b21fed375c38b6e3c2a658.tar.gz
[media] cec: set unclaimed addresses to CEC_LOG_ADDR_INVALID
Up to 4 logical addresses can be claimed. Make sure that any unclaimed logical addresses are set to CEC_LOG_ADDR_INVALID as per the documentation. Take special care in the unregistered case: when falling back to unregistered num_log_addrs may be > 1, so mark those as invalid. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/media/cec/cec-adap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/media/cec/cec-adap.c b/drivers/staging/media/cec/cec-adap.c
index 2458a6c..6cc7d79 100644
--- a/drivers/staging/media/cec/cec-adap.c
+++ b/drivers/staging/media/cec/cec-adap.c
@@ -1056,6 +1056,8 @@ configured:
/* Fall back to unregistered */
las->log_addr[0] = CEC_LOG_ADDR_UNREGISTERED;
las->log_addr_mask = 1 << las->log_addr[0];
+ for (i = 1; i < las->num_log_addrs; i++)
+ las->log_addr[i] = CEC_LOG_ADDR_INVALID;
}
adap->is_configured = true;
adap->is_configuring = false;
@@ -1074,6 +1076,8 @@ 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);
OpenPOWER on IntegriCloud