drm/nouveau/nvkm: use list_add_tail() when building object tree
authorBen Skeggs <bskeggs@redhat.com>
Wed, 1 Jun 2022 10:46:02 +0000 (20:46 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 13 Jul 2022 03:55:43 +0000 (13:55 +1000)
Fixes resume from hibernate failing on (at least) TU102, where cursor
channel init failed due to being performed before the core channel.

Not solid idea why suspend-to-ram worked, but, presumably HW being in
an entirely clean state has something to do with it.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/nouveau/nvkm/core/ioctl.c

index 735cb68..06b2f67 100644 (file)
@@ -128,7 +128,7 @@ nvkm_ioctl_new(struct nvkm_client *client,
        if (ret == 0) {
                ret = nvkm_object_init(object);
                if (ret == 0) {
-                       list_add(&object->head, &parent->tree);
+                       list_add_tail(&object->head, &parent->tree);
                        if (nvkm_object_insert(object)) {
                                client->data = object;
                                return 0;