Hi Wang, Thank you for the patch. On Wed, Jul 26, 2023 at 07:57:56PM +0800, Wang Ming wrote: > 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. It's not a bug. The existing code works as expected. dev_err_probe() is nicer though, as it records the reason for the probe deferral. Here's a proposal for a better commit message: It is possible that dma_request_chan() returns EPROBE_DEFER, in which case the driver defers probing without printing any message. Use dev_err_probe() to record the probe deferral cause and ease debugging. > 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"); The alignment is wrong, this should be ret = dev_err_probe(disp->dev, PTR_ERR(dma->chan), "failed to request dma channel\n"); If you're fine with those changes, I can fix this locally, there's no need to resubmit. Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > dma->chan = NULL; > return ret; > } -- Regards, Laurent Pinchart