[media] cec: return -EPERM when no LAs are configured
The CEC_TRANSMIT ioctl now returns -EPERM if an attempt is made to transmit a message for an unconfigured adapter (i.e. userspace never called CEC_ADAP_S_LOG_ADDRS). This differentiates this case from when LAs are configured, but no physical address is set. In that case -ENONET is returned. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Родитель
533a3f7bc7
Коммит
059d1460ca
|
@ -198,7 +198,9 @@ static long cec_transmit(struct cec_adapter *adap, struct cec_fh *fh,
|
|||
return -EINVAL;
|
||||
|
||||
mutex_lock(&adap->lock);
|
||||
if (adap->is_configuring)
|
||||
if (adap->log_addrs.num_log_addrs == 0)
|
||||
err = -EPERM;
|
||||
else if (adap->is_configuring)
|
||||
err = -ENONET;
|
||||
else if (!adap->is_configured && (msg.msg[0] != 0xf0 || msg.reply))
|
||||
err = -ENONET;
|
||||
|
|
Загрузка…
Ссылка в новой задаче