Two cec callbacks (adap_configured and received) could be called either with or without adap->lock held. This was 1) very confusing, and 2) could cause a deadlock. Stop 'overloading' these callbacks and just split them up according to the specific use-case. All adap_* callbacks now take the mutex, and all other callbacks do not. Hans Verkuil (3): media: cec: core: add adap_nb_transmit_canceled() callback media: cec: core: add adap_unconfigured() callback Documentation: media: cec: describe new callbacks Documentation/driver-api/media/cec-core.rst | 44 ++++++++++++++++----- drivers/media/cec/core/cec-adap.c | 8 ++-- include/media/cec.h | 11 ++++-- 3 files changed, 45 insertions(+), 18 deletions(-) -- 2.39.2