summaryrefslogtreecommitdiff
path: root/nvkm/core/printk.c
diff options
context:
space:
mode:
Diffstat (limited to 'nvkm/core/printk.c')
-rw-r--r--nvkm/core/printk.c10
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)