Currently, drm_dev_wedged_event() logs a basic message of device being wedged, but doesn't print the recovery method used by the caller. Log it for easier bug report analysis.
While at it, as device wedging is a catastrophic event for the cases that do need recovery, distinguish them and raise their log level to drm_warn(). Signed-off-by: Raag Jadav <[email protected]> --- v2: Distinguish between recovery and no recovery cases (Christian, Rodrigo) --- drivers/gpu/drm/drm_drv.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index cb53baa70995..7f8abb72f548 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -598,8 +598,10 @@ int drm_dev_wedged_event(struct drm_device *dev, unsigned long method, /* Caller is unsure about recovery, do the best we can at this point. */ snprintf(event_string, sizeof(event_string), "%s", "WEDGED=unknown"); - drm_info(dev, "device wedged, %s\n", method == DRM_WEDGE_RECOVERY_NONE ? - "but no recovery needed" : "needs recovery"); + if (method == DRM_WEDGE_RECOVERY_NONE) + drm_info(dev, "device wedged, but no recovery needed\n"); + else + drm_warn(dev, "device wedged with method %#lx, needs recovery\n", method); if (info && (info->comm[0] != '\0') && (info->pid >= 0)) { snprintf(pid_string, sizeof(pid_string), "PID=%u", info->pid); -- 2.43.0
