When testing what happens when randomly configuring and unconfiguring a CEC adapter, and simultaneously setting an invalidating the physical address, and starting and stopping monitoring and pin monitoring using two cec-gpio instances, a whole bunch of race conditions were found. This patch series addresses them. Hans Verkuil (7): cec-pin: disabling the adapter cannot call kthread_stop cec-pin: don't zero work_pin_num_events in adap_enable cec-adap.c: don't unconfigure if already unconfigured cec-adap.c: stop trying LAs on CEC_TX_STATUS_TIMEOUT cec-adap.c: fix is_configuring state cec-adap.c: reconfigure if the PA changes during configuration cec-adap: drop activate_cnt, use state info instead drivers/media/cec/core/cec-adap.c | 188 ++++++++++++++---------------- drivers/media/cec/core/cec-pin.c | 57 +++++---- include/media/cec.h | 6 +- 3 files changed, 124 insertions(+), 127 deletions(-) -- 2.34.1