2023-07-26 12:34:56

by Wang Ming

[permalink] [raw]
Subject: [PATCH v2] crypto: 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/omap-aes.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c
index 67a99c760bc4..de7f1eeb675a 100644
--- a/drivers/crypto/omap-aes.c
+++ b/drivers/crypto/omap-aes.c
@@ -236,14 +236,14 @@ static int omap_aes_dma_init(struct omap_aes_dev *dd)

dd->dma_lch_in = dma_request_chan(dd->dev, "rx");
if (IS_ERR(dd->dma_lch_in)) {
- dev_err(dd->dev, "Unable to request in DMA channel\n");
- return PTR_ERR(dd->dma_lch_in);
+ return dev_err_probe(dd->dev, PTR_ERR(dd->dma_lch_in),
+ Unable to request in DMA channel\n");
}

dd->dma_lch_out = dma_request_chan(dd->dev, "tx");
if (IS_ERR(dd->dma_lch_out)) {
- dev_err(dd->dev, "Unable to request out DMA channel\n");
- err = PTR_ERR(dd->dma_lch_out);
+ err = dev_err_probe(dd->dev, PTR_ERR(dd->dma_lch_out),
+ "Unable to request out DMA channel\n");
goto err_dma_out;
}

--
2.25.1



2023-08-04 09:35:53

by Herbert Xu

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

On Wed, Jul 26, 2023 at 08:03:04PM +0800, Wang Ming wrote:
> 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/omap-aes.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c
> index 67a99c760bc4..de7f1eeb675a 100644
> --- a/drivers/crypto/omap-aes.c
> +++ b/drivers/crypto/omap-aes.c
> @@ -236,14 +236,14 @@ static int omap_aes_dma_init(struct omap_aes_dev *dd)
>
> dd->dma_lch_in = dma_request_chan(dd->dev, "rx");
> if (IS_ERR(dd->dma_lch_in)) {
> - dev_err(dd->dev, "Unable to request in DMA channel\n");
> - return PTR_ERR(dd->dma_lch_in);
> + return dev_err_probe(dd->dev, PTR_ERR(dd->dma_lch_in),
> + Unable to request in DMA channel\n");
> }
>
> dd->dma_lch_out = dma_request_chan(dd->dev, "tx");
> if (IS_ERR(dd->dma_lch_out)) {
> - dev_err(dd->dev, "Unable to request out DMA channel\n");
> - err = PTR_ERR(dd->dma_lch_out);
> + err = dev_err_probe(dd->dev, PTR_ERR(dd->dma_lch_out),
> + "Unable to request out DMA channel\n");
> goto err_dma_out;
> }

This doesn't even compile.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt