drm: Don't split up debug output

Otherwise we risk that the 2nd part of the line ends up on a line of
it's own, which means a kernel dmesg line without a log level. This
then upsets the dmesg checker in piglit.

Only really happens in some of the truly nasty igt testcases which
race cache dropping (through debugfs) with other gem operations.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Daniel Vetter 2013-11-17 22:25:02 +01:00 committed by Dave Airlie
parent 5d13d425eb
commit fffb906532
1 changed files with 9 additions and 3 deletions

View File

@ -99,13 +99,19 @@ void drm_ut_debug_printk(unsigned int request_level,
const char *function_name, const char *function_name,
const char *format, ...) const char *format, ...)
{ {
struct va_format vaf;
va_list args; va_list args;
if (drm_debug & request_level) { if (drm_debug & request_level) {
if (function_name)
printk(KERN_DEBUG "[%s:%s], ", prefix, function_name);
va_start(args, format); va_start(args, format);
vprintk(format, args); vaf.fmt = format;
vaf.va = &args;
if (function_name)
printk(KERN_DEBUG "[%s:%s], %pV", prefix,
function_name, &vaf);
else
printk(KERN_DEBUG "%pV", &vaf);
va_end(args); va_end(args);
} }
} }