diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2015-11-02 18:20:41 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2015-11-02 18:20:41 +0900 |
commit | fb8444e731765588c0ff1e9053c1c7b73f5f0907 (patch) | |
tree | 8550bdd0e8683774ba19a91c3977ddf69dd8466f /src | |
parent | 8e7ee03f55c2f3874f6e84daeb5700f8b8037a51 (diff) |
Don't use AMDGPUEntPriv in AMDGPUFreeRec
It crashes if info == NULL.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/amdgpu_kms.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c index 5e17525..41f01b3 100644 --- a/src/amdgpu_kms.c +++ b/src/amdgpu_kms.c @@ -107,7 +107,8 @@ static Bool AMDGPUGetRec(ScrnInfoPtr pScrn) /* Free our private AMDGPUInfoRec */ static void AMDGPUFreeRec(ScrnInfoPtr pScrn) { - AMDGPUEntPtr pAMDGPUEnt = AMDGPUEntPriv(pScrn); + DevUnion *pPriv; + AMDGPUEntPtr pAMDGPUEnt; AMDGPUInfoPtr info; if (!pScrn) @@ -117,6 +118,9 @@ static void AMDGPUFreeRec(ScrnInfoPtr pScrn) if (info && info->fbcon_pixmap) pScrn->pScreen->DestroyPixmap(info->fbcon_pixmap); + pPriv = xf86GetEntityPrivate(xf86GetEntityInfo(pScrn->entityList[pScrn->numEntities - 1])->index, + gAMDGPUEntityIndex); + pAMDGPUEnt = pPriv->ptr; if (pAMDGPUEnt->fd > 0) { DevUnion *pPriv; AMDGPUEntPtr pAMDGPUEnt; |