diff options
| author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-12-01 13:41:25 +0100 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2021-12-07 11:29:56 +0100 |
| commit | 713bdfa10b5957053811470d298def9537d9ff13 (patch) | |
| tree | 2009bdac538ece5c9155c36b785149d71ecb120e /tools/perf/scripts/python/event_analyzing_sample.py | |
| parent | media: cec-pin: drop unused 'enabled' field from struct cec_pin (diff) | |
| download | linux-713bdfa10b5957053811470d298def9537d9ff13.tar.gz linux-713bdfa10b5957053811470d298def9537d9ff13.zip | |
media: cec-pin: fix interrupt en/disable handling
The en/disable_irq() functions keep track of the 'depth': i.e. if
interrupts are disabled twice, then it needs to enable_irq() calls to
enable them again. The cec-pin framework didn't take this into accound
and could disable irqs multiple times, and it expected that a single
enable_irq() would enable them again.
Move all calls to en/disable_irq() to the kthread where it is easy
to keep track of the current irq state and ensure that multiple
en/disable_irq calls never happen.
If interrupts where disabled twice, then they would never turn on
again, leaving the CEC adapter in a dead state.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 865463fc03ed (media: cec-pin: add error injection support)
Cc: <stable@vger.kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions
