Selaa lähdekoodia

crypto: omap-sham - do not schedule tasklet if there is no active requests

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Dmitry Kasatkin 14 vuotta sitten
vanhempi
commit
cd3f1d545c
1 muutettua tiedostoa jossa 5 lisäystä ja 0 poistoa
  1. 5 0
      drivers/crypto/omap-sham.c

+ 5 - 0
drivers/crypto/omap-sham.c

@@ -1085,6 +1085,11 @@ static irqreturn_t omap_sham_irq(int irq, void *dev_id)
 				 SHA_REG_CTRL_OUTPUT_READY);
 				 SHA_REG_CTRL_OUTPUT_READY);
 	omap_sham_read(dd, SHA_REG_CTRL);
 	omap_sham_read(dd, SHA_REG_CTRL);
 
 
+	if (!test_bit(FLAGS_BUSY, &dd->flags)) {
+		dev_warn(dd->dev, "Interrupt when no active requests.\n");
+		return IRQ_HANDLED;
+	}
+
 	set_bit(FLAGS_OUTPUT_READY, &dd->flags);
 	set_bit(FLAGS_OUTPUT_READY, &dd->flags);
 	tasklet_schedule(&dd->done_task);
 	tasklet_schedule(&dd->done_task);