aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorGravatar Karol Herbst <kherbst@redhat.com> 2021-01-18 18:16:06 +0100
committerGravatar Ben Skeggs <bskeggs@redhat.com> 2021-01-29 11:03:11 +1000
commitdcd602cc5fe2803bf532d407cde24ba0b7808ff3 (patch)
tree720bd6a7c681de61ed45c2631090202c908ad61d /drivers
parentdrm/nouveau/dispnv50: Restore pushing of all data. (diff)
downloadlinux-dcd602cc5fe2803bf532d407cde24ba0b7808ff3.tar.gz
linux-dcd602cc5fe2803bf532d407cde24ba0b7808ff3.tar.bz2
linux-dcd602cc5fe2803bf532d407cde24ba0b7808ff3.zip
drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices
Fixes a crash when trying to create a channel on e.g. Turing GPUs when NOUVEAU_SVM_INIT was called before. Fixes: eeaf06ac1a558 ("drm/nouveau/svm: initial support for shared virtual memory") Signed-off-by: Karol Herbst <kherbst@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_svm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c
index 4f69e4c3dafd..1c3f890377d2 100644
--- a/drivers/gpu/drm/nouveau/nouveau_svm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_svm.c
@@ -315,6 +315,10 @@ nouveau_svmm_init(struct drm_device *dev, void *data,
struct drm_nouveau_svm_init *args = data;
int ret;
+ /* We need to fail if svm is disabled */
+ if (!cli->drm->svm)
+ return -ENOSYS;
+
/* Allocate tracking for SVM-enabled VMM. */
if (!(svmm = kzalloc(sizeof(*svmm), GFP_KERNEL)))
return -ENOMEM;