media: cec: ensure that adap_enable(false) is called from cec_delete_adapter()
authorHans Verkuil <hans.verkuil@cisco.com>
Sun, 20 Aug 2017 11:41:41 +0000 (07:41 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Sat, 26 Aug 2017 12:32:15 +0000 (08:32 -0400)
commit152b0a9a3d62f90e6784a5d35ffc3f552f1c2c54
tree5c47d7c13ae95619ed485f816b7bea70d3183c4d
parent0779b8855c746c90b85bfe6e16d5dfa2a6a46655
media: cec: ensure that adap_enable(false) is called from cec_delete_adapter()

When the adapter is removed the cec_delete_adapter() call attempts
to set the physical address to INVALID by calling __cec_s_phys_addr()
and so disabling the adapter.

However, __cec_s_phys_addr checks if the device node was unregistered
and just returns in that case.

This means that the adap_enable callback is never called with 'false'
to disable the CEC adapter. Most drivers don't care, but some need
to do cleanup here.

Change the test so the adapter is correctly disabled, even when the
device node is unregistered.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reported-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/cec/cec-adap.c