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

Reply via email to