2023-07-26 12:36:02

by Wang Ming

[permalink] [raw]
Subject: [PATCH v2] crypto: atmel: Use dev_err_probe instead of dev_err

It is possible that dma_request_chan will return EPROBE_DEFER,
which means that dd->dev is not ready yet. In this case,
dev_err(dd->dev), there will be no output. This patch fixes the bug.

Signed-off-by: Wang Ming <[email protected]>
---
drivers/crypto/atmel-sha.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index 6bef634d3c86..5682957f805d 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -2499,8 +2499,8 @@ static int atmel_sha_dma_init(struct atmel_sha_dev *dd)
{
dd->dma_lch_in.chan = dma_request_chan(dd->dev, "tx");
if (IS_ERR(dd->dma_lch_in.chan)) {
- dev_err(dd->dev, "DMA channel is not available\n");
- return PTR_ERR(dd->dma_lch_in.chan);
+ return dev_err_probe(dd->dev, PTR_ERR(dd->dma_lch_in.chan),
+ "DMA channel is not available\n");
}

dd->dma_lch_in.dma_conf.dst_addr = dd->phys_base +
--
2.25.1



2023-07-26 16:14:43

by Ryan.Wanner

[permalink] [raw]
Subject: Re: [PATCH v2] crypto: atmel: Use dev_err_probe instead of dev_err

On 7/26/23 05:04, Wang Ming wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> It is possible that dma_request_chan will return EPROBE_DEFER,
> which means that dd->dev is not ready yet. In this case,
> dev_err(dd->dev), there will be no output. This patch fixes the bug.
>
> Signed-off-by: Wang Ming <[email protected]>
Reviewed-by: Ryan Wanner <[email protected]>
> ---
> drivers/crypto/atmel-sha.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
> index 6bef634d3c86..5682957f805d 100644
> --- a/drivers/crypto/atmel-sha.c
> +++ b/drivers/crypto/atmel-sha.c
> @@ -2499,8 +2499,8 @@ static int atmel_sha_dma_init(struct atmel_sha_dev *dd)
> {
> dd->dma_lch_in.chan = dma_request_chan(dd->dev, "tx");
> if (IS_ERR(dd->dma_lch_in.chan)) {
> - dev_err(dd->dev, "DMA channel is not available\n");
> - return PTR_ERR(dd->dma_lch_in.chan);
> + return dev_err_probe(dd->dev, PTR_ERR(dd->dma_lch_in.chan),
> + "DMA channel is not available\n");
> }
>
> dd->dma_lch_in.dma_conf.dst_addr = dd->phys_base +
> --
> 2.25.1
>