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@xxxxxxxx> --- 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