From: Liu ChengZhe Date: Tue, 9 Jun 2020 08:44:43 +0000 (+0800) Subject: drm/amd/amdgpu: handle return value of amdgpu_driver_load_kms X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7504d3bbec7da70516a13e34415b92bf5203399a;p=linux.git drm/amd/amdgpu: handle return value of amdgpu_driver_load_kms if guest driver failed to enter full GPU access, amdgpu_driver_load_kms will unload kms and free dev->dev_private, drm_dev_register would access null pointer. Driver will enter an error state and can't be unloaded. Signed-off-by: Liu ChengZhe Reviewed-by: Madhav Chauhan Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 126e74758a342..75bcd17891853 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -1111,7 +1111,9 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, pci_set_drvdata(pdev, dev); - amdgpu_driver_load_kms(dev, ent->driver_data); + ret = amdgpu_driver_load_kms(dev, ent->driver_data); + if (ret) + goto err_pci; retry_init: ret = drm_dev_register(dev, ent->driver_data);