]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/radeon/evergreen_cs: Add missing NULL prefix check in surface check
authorVitaliy Triang3l Kuzmin <ml@triang3l.ru>
Fri, 15 May 2026 21:48:32 +0000 (00:48 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 May 2026 16:16:16 +0000 (12:16 -0400)
'evergreen_surface_check' is called with a NULL warning prefix when
handling potentially recoverable issues or just to compute the alignment
requirements, and 'evergreen_surface_check' is called again in case of
failure (with the correct prefix, as opposed to NULL), therefore, the
initial check must not print a warning, because the surface may be
accepted successfully after having been corrected, however if it isn't,
the final check will print the warning anyway. The surface check
functions specific to array modes already implement this behavior, but
the 'evergreen_surface_check' function itself doesn't.

This is also supposed to fix the "'%s' directive argument is null
[-Werror=format-overflow=]" compiler warning.

Fixes: 285484e2d55e ("drm/radeon: add support for evergreen/ni tiling informations v11")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vitaliy Triang3l Kuzmin <ml@triang3l.ru>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit e20ea411c99f6968af35fd03e9ee21f70d799144)

drivers/gpu/drm/radeon/evergreen_cs.c

index 3142ef4da7f4a02a3a16e82c9fe23e8b7bca7e52..9196f85db9ce0bd151d6913c85828a80f6e4a937 100644 (file)
@@ -312,8 +312,10 @@ static int evergreen_surface_check(struct radeon_cs_parser *p,
        case ARRAY_2D_TILED_THIN1:
                return evergreen_surface_check_2d(p, surf, prefix);
        default:
-               dev_warn(p->dev, "%s:%d %s invalid array mode %d\n",
-                               __func__, __LINE__, prefix, surf->mode);
+               if (prefix) {
+                       dev_warn(p->dev, "%s:%d %s invalid array mode %d\n",
+                                       __func__, __LINE__, prefix, surf->mode);
+               }
                return -EINVAL;
        }
        return -EINVAL;