diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2016-07-09 03:41:01 +0300 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2016-07-14 04:53:25 +0300 |
commit | 2100292c95cc1ff0d9dfebcb34d447f0acad5dd1 (patch) | |
tree | cf7a16c6353d373a90e3a5dec48465db97f749b8 /drivers/gpu/drm/nouveau/nouveau_drm.c | |
parent | 2a4bd8ac2ff775ee285dc0dc74d4d820d7439402 (diff) | |
download | linux-2100292c95cc1ff0d9dfebcb34d447f0acad5dd1.tar.xz |
drm/nouveau: prevent oops if no mmu subdev present
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drm.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 295e7621cc68..6164ea086819 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -430,6 +430,11 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags) nouveau_vga_init(drm); if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) { + if (!nvxx_device(&drm->device)->mmu) { + ret = -ENOSYS; + goto fail_device; + } + ret = nvkm_vm_new(nvxx_device(&drm->device), 0, (1ULL << 40), 0x1000, NULL, &drm->client.vm); if (ret) |