Browse Source

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>
Dmitry Osipenko 7 years ago
parent
commit
2efa20dae2
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/staging/media/tegra-vde/tegra-vde.c

+ 3 - 0
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);