Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07de4bc8 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Herbert Xu
Browse files

crypto: s5p-sss - Fix completing crypto request in IRQ handler



In a regular interrupt handler driver was finishing the crypt/decrypt
request by calling complete on crypto request.  This is disallowed since
converting to skcipher in commit b286d8b1 ("crypto: skcipher - Add
skcipher walk interface") and causes a warning:
	WARNING: CPU: 0 PID: 0 at crypto/skcipher.c:430 skcipher_walk_first+0x13c/0x14c

The interrupt is marked shared but in fact there are no other users
sharing it.  Thus the simplest solution seems to be to just use a
threaded interrupt handler, after converting it to oneshot.

Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent aa2be9b3
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -805,8 +805,9 @@ static int s5p_aes_probe(struct platform_device *pdev)
		dev_warn(dev, "feed control interrupt is not available.\n");
		dev_warn(dev, "feed control interrupt is not available.\n");
		goto err_irq;
		goto err_irq;
	}
	}
	err = devm_request_irq(dev, pdata->irq_fc, s5p_aes_interrupt,
	err = devm_request_threaded_irq(dev, pdata->irq_fc, NULL,
			       IRQF_SHARED, pdev->name, pdev);
					s5p_aes_interrupt, IRQF_ONESHOT,
					pdev->name, pdev);
	if (err < 0) {
	if (err < 0) {
		dev_warn(dev, "feed control interrupt is not available.\n");
		dev_warn(dev, "feed control interrupt is not available.\n");
		goto err_irq;
		goto err_irq;