It is possible that dma_request_chan will return EPROBE_DEFER, which means that disp->dev is not ready yet. In this case, dev_err(disp->dev), there will be no output. This patch fixes the bug. Signed-off-by: Wang Ming <machel@xxxxxxxx> --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index 3b87eebddc97..676f09fe8594 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -1094,8 +1094,8 @@ static int zynqmp_disp_layer_request_dma(struct zynqmp_disp *disp, "%s%u", dma_names[layer->id], i); dma->chan = dma_request_chan(disp->dev, dma_channel_name); if (IS_ERR(dma->chan)) { - dev_err(disp->dev, "failed to request dma channel\n"); - ret = PTR_ERR(dma->chan); + ret = dev_err_probe(disp->dev, PTR_ERR(dma->chan), + "failed to request dma channel\n"); dma->chan = NULL; return ret; } -- 2.25.1