crypto: atmel - Use dev_err_probe instead of dev_err
authorWang Ming <machel@vivo.com>
Wed, 26 Jul 2023 12:04:41 +0000 (20:04 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 4 Aug 2023 09:09:25 +0000 (17:09 +0800)
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 <machel@vivo.com>
Reviewed-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/atmel-sha.c

index f2031f9..54fec72 100644 (file)
@@ -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 +