All of lore.kernel.org
 help / color / mirror / Atom feed
From: <lionel.debieve@foss.st.com>
To: 'Linus Walleij' <linus.walleij@linaro.org>,
	'Herbert Xu' <herbert@gondor.apana.org.au>,
	"'David S. Miller'" <davem@davemloft.net>,
	'Rob Herring' <robh+dt@kernel.org>,
	'Krzysztof Kozlowski' <krzysztof.kozlowski+dt@linaro.org>,
	'Maxime Coquelin' <mcoquelin.stm32@gmail.com>,
	'Alexandre Torgue' <alexandre.torgue@foss.st.com>
Cc: <linux-crypto@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH 3/7] crypto: stm32/hash: Use existing busy poll function
Date: Tue, 3 Jan 2023 09:13:44 +0100	[thread overview]
Message-ID: <000b01d91f4b$509b3ee0$f1d1bca0$@foss.st.com> (raw)
In-Reply-To: <20221227-ux500-stm32-hash-v1-3-b637ac4cda01@linaro.org>

Acked-by: Lionel Debieve <lionel.debieve@foss.st.com>


ST Restricted

-----Original Message-----
From: Linus Walleij <linus.walleij@linaro.org> 
Sent: Wednesday, December 28, 2022 12:04 AM
To: Herbert Xu <herbert@gondor.apana.org.au>; David S. Miller <davem@davemloft.net>; Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Maxime Coquelin <mcoquelin.stm32@gmail.com>; Alexandre Torgue <alexandre.torgue@foss.st.com>; Lionel Debieve <lionel.debieve@foss.st.com>
Cc: linux-crypto@vger.kernel.org; devicetree@vger.kernel.org; linux-stm32@st-md-mailman.stormreply.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Linus Walleij <linus.walleij@linaro.org>
Subject: [PATCH 3/7] crypto: stm32/hash: Use existing busy poll function

When exporting state we are waiting indefinitely in the same was as the ordinary stm32_hash_wait_busy() poll-for-completion function but without a timeout, which means we could hang in an eternal loop. Fix this by waiting for completion like the rest of the code.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/crypto/stm32/stm32-hash.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c
index 0473ced7b4ea..cc0a4e413a82 100644
--- a/drivers/crypto/stm32/stm32-hash.c
+++ b/drivers/crypto/stm32/stm32-hash.c
@@ -960,11 +960,13 @@ static int stm32_hash_export(struct ahash_request *req, void *out)
 	struct stm32_hash_dev *hdev = stm32_hash_find_dev(ctx);
 	u32 *preg;
 	unsigned int i;
+	int ret;
 
 	pm_runtime_get_sync(hdev->dev);
 
-	while ((stm32_hash_read(hdev, HASH_SR) & HASH_SR_BUSY))
-		cpu_relax();
+	ret = stm32_hash_wait_busy(hdev);
+	if (ret)
+		return ret;
 
 	rctx->hw_context = kmalloc_array(3 + HASH_CSR_REGISTER_NUMBER,
 					 sizeof(u32),

--
2.38.1


WARNING: multiple messages have this Message-ID (diff)
From: <lionel.debieve@foss.st.com>
To: 'Linus Walleij' <linus.walleij@linaro.org>,
	'Herbert Xu' <herbert@gondor.apana.org.au>,
	"'David S. Miller'" <davem@davemloft.net>,
	'Rob Herring' <robh+dt@kernel.org>,
	'Krzysztof Kozlowski' <krzysztof.kozlowski+dt@linaro.org>,
	'Maxime Coquelin' <mcoquelin.stm32@gmail.com>,
	'Alexandre Torgue' <alexandre.torgue@foss.st.com>
Cc: <linux-crypto@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH 3/7] crypto: stm32/hash: Use existing busy poll function
Date: Tue, 3 Jan 2023 09:13:44 +0100	[thread overview]
Message-ID: <000b01d91f4b$509b3ee0$f1d1bca0$@foss.st.com> (raw)
In-Reply-To: <20221227-ux500-stm32-hash-v1-3-b637ac4cda01@linaro.org>

Acked-by: Lionel Debieve <lionel.debieve@foss.st.com>


ST Restricted

-----Original Message-----
From: Linus Walleij <linus.walleij@linaro.org> 
Sent: Wednesday, December 28, 2022 12:04 AM
To: Herbert Xu <herbert@gondor.apana.org.au>; David S. Miller <davem@davemloft.net>; Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Maxime Coquelin <mcoquelin.stm32@gmail.com>; Alexandre Torgue <alexandre.torgue@foss.st.com>; Lionel Debieve <lionel.debieve@foss.st.com>
Cc: linux-crypto@vger.kernel.org; devicetree@vger.kernel.org; linux-stm32@st-md-mailman.stormreply.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Linus Walleij <linus.walleij@linaro.org>
Subject: [PATCH 3/7] crypto: stm32/hash: Use existing busy poll function

When exporting state we are waiting indefinitely in the same was as the ordinary stm32_hash_wait_busy() poll-for-completion function but without a timeout, which means we could hang in an eternal loop. Fix this by waiting for completion like the rest of the code.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/crypto/stm32/stm32-hash.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c
index 0473ced7b4ea..cc0a4e413a82 100644
--- a/drivers/crypto/stm32/stm32-hash.c
+++ b/drivers/crypto/stm32/stm32-hash.c
@@ -960,11 +960,13 @@ static int stm32_hash_export(struct ahash_request *req, void *out)
 	struct stm32_hash_dev *hdev = stm32_hash_find_dev(ctx);
 	u32 *preg;
 	unsigned int i;
+	int ret;
 
 	pm_runtime_get_sync(hdev->dev);
 
-	while ((stm32_hash_read(hdev, HASH_SR) & HASH_SR_BUSY))
-		cpu_relax();
+	ret = stm32_hash_wait_busy(hdev);
+	if (ret)
+		return ret;
 
 	rctx->hw_context = kmalloc_array(3 + HASH_CSR_REGISTER_NUMBER,
 					 sizeof(u32),

--
2.38.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-01-03  8:14 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-27 23:03 [PATCH 0/7] crypto: stm32 hash - reuse for Ux500 Linus Walleij
2022-12-27 23:03 ` Linus Walleij
2022-12-27 23:03 ` [PATCH 1/7] dt-bindings: crypto: Let STM32 define Ux500 HASH Linus Walleij
2022-12-27 23:03   ` Linus Walleij
2023-01-08 18:33   ` Rob Herring
2023-01-08 18:33     ` Rob Herring
2022-12-27 23:03 ` [PATCH 2/7] crypto: stm32/hash: Simplify code Linus Walleij
2022-12-27 23:03   ` Linus Walleij
2023-01-03  8:12   ` lionel.debieve
2023-01-03  8:12     ` lionel.debieve
2022-12-27 23:03 ` [PATCH 3/7] crypto: stm32/hash: Use existing busy poll function Linus Walleij
2022-12-27 23:03   ` Linus Walleij
2023-01-03  8:13   ` lionel.debieve [this message]
2023-01-03  8:13     ` lionel.debieve
2022-12-27 23:03 ` [PATCH 4/7] crypto: stm32/hash: Make dma_mode a bool Linus Walleij
2022-12-27 23:03   ` Linus Walleij
2022-12-27 23:03 ` [PATCH 5/7] crypto: stm32/hash: Wait for idle before final CPU xmit Linus Walleij
2022-12-27 23:03   ` Linus Walleij
2022-12-27 23:03 ` [PATCH 6/7] crypto: stm32/hash: Support Ux500 hash Linus Walleij
2022-12-27 23:03   ` Linus Walleij
2022-12-27 23:03 ` [PATCH 7/7] crypto: ux500/hash - delete driver Linus Walleij
2022-12-27 23:03   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000b01d91f4b$509b3ee0$f1d1bca0$@foss.st.com' \
    --to=lionel.debieve@foss.st.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.