summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2016-05-25 17:02:11 +1000
committerBen Skeggs <bskeggs@redhat.com>2017-02-17 15:14:59 +1000
commit05da248bbe91fecb29e1f2fb9b978c4d2ee6da8e (patch)
treeeadfc286e9baca4ba0cee2d9e71cd6fd733ba1ae /drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
parent2c3af924fbee23544a6adc81a2bbe398132b472f (diff)
downloadlinux-05da248bbe91fecb29e1f2fb9b978c4d2ee6da8e.tar.gz
linux-05da248bbe91fecb29e1f2fb9b978c4d2ee6da8e.tar.xz
drm/nouveau/core/client: destroy client objects over nvif
Preparation for supporting subclients, and also good for consistency. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/core/ioctl.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/core/ioctl.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c b/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
index 25c800b426ca..be19bbe56bba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
+++ b/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
@@ -158,7 +158,7 @@ nvkm_ioctl_del(struct nvkm_client *client,
nvkm_object_del(&object);
}
- return ret;
+ return ret ? ret : 1;
}
static int
@@ -441,12 +441,13 @@ nvkm_ioctl(struct nvkm_client *client, bool supervisor,
&args->v0.route, &args->v0.token);
}
- nvif_ioctl(object, "return %d\n", ret);
- if (hack) {
- *hack = client->data;
- client->data = NULL;
+ if (ret != 1) {
+ nvif_ioctl(object, "return %d\n", ret);
+ if (hack) {
+ *hack = client->data;
+ client->data = NULL;
+ }
}
- client->super = false;
return ret;
}