When validating the struct cec_s_log_addrs input a debug message is printed
for all except two of the 'return -EINVAL' paths.

Also log the reason for the missing two paths.

Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>
---
diff --git a/drivers/media/cec/cec-adap.c b/drivers/media/cec/cec-adap.c
index ebb5e391..72f9bba 100644
--- a/drivers/media/cec/cec-adap.c
+++ b/drivers/media/cec/cec-adap.c
@@ -1436,12 +1436,16 @@ int __cec_s_log_addrs(struct cec_adapter *adap,
         * within the correct range.
         */
        if (log_addrs->vendor_id != CEC_VENDOR_ID_NONE &&
-           (log_addrs->vendor_id & 0xff000000) != 0)
+           (log_addrs->vendor_id & 0xff000000) != 0) {
+               dprintk(1, "invalid vendor ID\n");
                return -EINVAL;
+       }
 
        if (log_addrs->cec_version != CEC_OP_CEC_VERSION_1_4 &&
-           log_addrs->cec_version != CEC_OP_CEC_VERSION_2_0)
+           log_addrs->cec_version != CEC_OP_CEC_VERSION_2_0) {
+               dprintk(1, "invalid CEC version\n");
                return -EINVAL;
+       }
 
        if (log_addrs->num_log_addrs > 1)
                for (i = 0; i < log_addrs->num_log_addrs; i++)

Reply via email to