diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2016-05-25 17:02:11 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2017-02-17 15:14:59 +1000 |
commit | 05da248bbe91fecb29e1f2fb9b978c4d2ee6da8e (patch) | |
tree | eadfc286e9baca4ba0cee2d9e71cd6fd733ba1ae /drivers/gpu/drm/nouveau/nvkm/core/ioctl.c | |
parent | 2c3af924fbee23544a6adc81a2bbe398132b472f (diff) | |
download | linux-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.c | 13 |
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; } |