summaryrefslogtreecommitdiff
path: root/drivers/staging/media/tegra-vde
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2018-03-17 11:28:14 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-05-04 06:33:25 -0400
commit2efa20dae2810cf139eb39cbbf302749286e8f2d (patch)
treedf8c58b7292480b4ac4d63573667555a7b2fea7a /drivers/staging/media/tegra-vde
parent3830e4f2a907cab76464338d8ebfa943ab248d2e (diff)
media: staging: tegra-vde: Do not handle spurious interrupts
Do not handle interrupts if we haven't asked for them, potentially that could happen if HW wasn't programmed properly. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Hans Verkuil <hansverk@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/staging/media/tegra-vde')
-rw-r--r--drivers/staging/media/tegra-vde/tegra-vde.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/media/tegra-vde/tegra-vde.c b/drivers/staging/media/tegra-vde/tegra-vde.c
index 94b4db55cdb5..9e542c6288f1 100644
--- a/drivers/staging/media/tegra-vde/tegra-vde.c
+++ b/drivers/staging/media/tegra-vde/tegra-vde.c
@@ -935,6 +935,9 @@ static irqreturn_t tegra_vde_isr(int irq, void *data)
{
struct tegra_vde *vde = data;
+ if (completion_done(&vde->decode_completion))
+ return IRQ_NONE;
+
tegra_vde_set_bits(vde, 0, vde->frameid + 0x208);
complete(&vde->decode_completion);