diff options
Diffstat (limited to 'nvkm/core/printk.c')
-rw-r--r-- | nvkm/core/printk.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/nvkm/core/printk.c b/nvkm/core/printk.c index 1060e3a17..81f559692 100644 --- a/nvkm/core/printk.c +++ b/nvkm/core/printk.c @@ -64,11 +64,13 @@ nv_printk_(struct nouveau_object *object, int level, const char *fmt, ...) struct nouveau_object *subdev; char obuf[64], *ofmt = ""; - subdev = object; - while (subdev && !nv_iclass(subdev, NV_SUBDEV_CLASS)) - subdev = subdev->parent; - if (!subdev) + if (object->engine == NULL) { + subdev = object; + while (subdev && !nv_iclass(subdev, NV_SUBDEV_CLASS)) + subdev = subdev->parent; + } else { subdev = object->engine; + } device = subdev; if (device->parent) |