Commit d093c01d authored by Vitaliy Triang3l Kuzmin's avatar Vitaliy Triang3l Kuzmin Committed by Alex Deucher
Browse files

drm/radeon/evergreen_cs: Add missing NULL prefix check in surface check



'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: 285484e2 ("drm/radeon: add support for evergreen/ni tiling informations v11")
Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarVitaliy Triang3l Kuzmin <ml@triang3l.ru>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit e20ea411c99f6968af35fd03e9ee21f70d799144)
parent b6a28b77
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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:
		if (prefix) {
			dev_warn(p->dev, "%s:%d %s invalid array mode %d\n",
					__func__, __LINE__, prefix, surf->mode);
		}
		return -EINVAL;
	}
	return -EINVAL;