mbox series

[0/2] cec core fixes

Message ID 20211201124126.3948360-1-hverkuil-cisco@xs4all.nl
Headers show
Series cec core fixes | expand

Message

Hans Verkuil Dec. 1, 2021, 12:41 p.m. UTC
Two patches that fix two serious issues in the cec core framework.
The first will cause drivers that use the pin framework to stop
working in certain circumstances. Currently it affects only the
cec-gpio driver.

The second is a deadlock that can hit when closing the last open
filehandle of a driver that has an invalid physical address. Again,
this primarily hits cec-gpio, but I believe it can also happen
for other CEC drivers. This situation will typically occur when
monitoring the CEC traffic with cec-ctl --monitor and then stopping
cec-ctl with Ctrl-C.

While these patches should be backported, I decided to not to
send them out for 5.16 since I would like to give it more time for
testing.

Note also that a third issue was found with cec-pin where a atomic
operation can sleep. See:

https://lore.kernel.org/linux-media/a06e7c55-f25d-8339-faea-9be6d31d1c87@xs4all.nl/T/#u

The issue appears to be in the gpio and/or pinctrl framework.

Regards,

	Hans

Hans Verkuil (2):
  cec-pin: fix interrupt en/disable handling
  cec: fix a deadlock situation

 drivers/media/cec/core/cec-adap.c | 38 +++++++++++++++++--------------
 drivers/media/cec/core/cec-api.c  |  6 +++++
 drivers/media/cec/core/cec-core.c |  3 +++
 drivers/media/cec/core/cec-pin.c  | 31 ++++++++++++++-----------
 include/media/cec.h               | 11 +++++++--
 5 files changed, 57 insertions(+), 32 deletions(-)