diff options
author | Takashi Iwai | 2018-03-30 22:45:11 +0200 |
---|---|---|
committer | Alex Deucher | 2018-04-03 20:08:46 +0200 |
commit | c60e22f7199b5fe7cee4007ccb3b27bb8a506476 (patch) | |
tree | 2701d0ed3e88ce4dade4175ba5da665aa4c0a5fd /drivers/gpu | |
parent | drm/amdgpu: Fix PCIe lane width calculation (diff) | |
download | kernel-qcow2-linux-c60e22f7199b5fe7cee4007ccb3b27bb8a506476.tar.gz kernel-qcow2-linux-c60e22f7199b5fe7cee4007ccb3b27bb8a506476.tar.xz kernel-qcow2-linux-c60e22f7199b5fe7cee4007ccb3b27bb8a506476.zip |
drm/amdgpu: Fix memory leaks at amdgpu_init() error path
amdgpu driver checks vgacon_text_force() after some initializations
but without cleaning up. This will result in leaks.
Move the check of vgacon_text_force() to the beginning of
amdgpu_init() for fixing it and also for optimization.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 7379aa5a6849..0b19482b36b8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -922,6 +922,11 @@ static int __init amdgpu_init(void) { int r; + if (vgacon_text_force()) { + DRM_ERROR("VGACON disables amdgpu kernel modesetting.\n"); + return -EINVAL; + } + r = amdgpu_sync_init(); if (r) goto error_sync; @@ -930,10 +935,6 @@ static int __init amdgpu_init(void) if (r) goto error_fence; - if (vgacon_text_force()) { - DRM_ERROR("VGACON disables amdgpu kernel modesetting.\n"); - return -EINVAL; - } DRM_INFO("amdgpu kernel modesetting enabled.\n"); driver = &kms_driver; pdriver = &amdgpu_kms_pci_driver; |