Re: [PATCH v2 0/9] drm: Switch from dev_err to dev_err_probe for missing DSI host error path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nícolas,

On Thu, Feb 29, 2024 at 07:12:06PM -0500, Nícolas F. R. A. Prado wrote:
> This series changes every occurence of the following pattern: 
> 
> 	dsi_host = of_find_mipi_dsi_host_by_node(dsi);
> 	if (!dsi_host) {
> 		dev_err(dev, "failed to find dsi host\n");
> 		return -EPROBE_DEFER;
> 	}
> 
> into
> 
> 	dsi_host = of_find_mipi_dsi_host_by_node(dsi);
> 	if (!dsi_host)
> 		return dev_err_probe(dev, -EPROBE_DEFER, "failed to find dsi host\n");
> 
> This registers the defer probe reason (so it can later be printed by the
> driver core or checked on demand through the devices_deferred file in
> debugfs) and prevents errors to be spammed in the kernel log every time
> the driver retries to probe, unnecessarily alerting userspace about
> something that is a normal part of the boot process.

The idea is good, but I have a small issue with patches 1/9 to 7/9. They
all patch a function that is called by the probe function. Calling
dev_err_probe() in such functions is error-prone. I had to manually
check when reviewing the patches that those functions were indeed called
at probe time, and not through other code paths, and I also had to check
that no callers were using dev_err_probe() in the error handling path,
as that would have overridden the error message.

Would there be a way to move the dev_err_probe() to the top-level ? I
understand it's not always possible or convenient, but if it was doable
in at least some of the drivers, I think it would be better. I'll let
you be the judge.

> I have omitted a Fixes: tag in the last patch, for the truly-nt35597
> panel, because it predates the dev_err_probe() helper.
> 
> Changes in v2:
> - Added patches 2 onwards to fix all occurences of this pattern instead
>   of just for the anx7625 driver
> - Link to v1: https://lore.kernel.org/r/20240226-anx7625-defer-log-no-dsi-host-v1-1-242b1af31884@xxxxxxxxxxxxx
> 
> ---
> Nícolas F. R. A. Prado (9):
>       drm/bridge: anx7625: Don't log an error when DSI host can't be found
>       drm/bridge: icn6211: Don't log an error when DSI host can't be found
>       drm/bridge: lt8912b: Don't log an error when DSI host can't be found
>       drm/bridge: lt9611: Don't log an error when DSI host can't be found
>       drm/bridge: lt9611uxc: Don't log an error when DSI host can't be found
>       drm/bridge: tc358775: Don't log an error when DSI host can't be found
>       drm/bridge: dpc3433: Don't log an error when DSI host can't be found
>       drm/panel: novatek-nt35950: Don't log an error when DSI host can't be found
>       drm/panel: truly-nt35597: Don't log an error when DSI host can't be found
> 
>  drivers/gpu/drm/bridge/analogix/anx7625.c     |  6 ++----
>  drivers/gpu/drm/bridge/chipone-icn6211.c      |  6 ++----
>  drivers/gpu/drm/bridge/lontium-lt8912b.c      |  6 ++----
>  drivers/gpu/drm/bridge/lontium-lt9611.c       |  6 ++----
>  drivers/gpu/drm/bridge/lontium-lt9611uxc.c    |  6 ++----
>  drivers/gpu/drm/bridge/tc358775.c             |  6 ++----
>  drivers/gpu/drm/bridge/ti-dlpc3433.c          | 17 +++++++++--------
>  drivers/gpu/drm/panel/panel-novatek-nt35950.c |  6 ++----
>  drivers/gpu/drm/panel/panel-truly-nt35597.c   |  6 ++----
>  9 files changed, 25 insertions(+), 40 deletions(-)
> ---
> base-commit: 2ae0a045e6814c8c1d676d6153c605a65746aa29
> change-id: 20240226-anx7625-defer-log-no-dsi-host-c3f9ccbcb287

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux