From: Hawking Zhang <hawking.zh...@amd.com>

Avoid access null xcp_mgr pointer.

Signed-off-by: Hawking Zhang <hawking.zh...@amd.com>
Reviewed-by: Lijo Lazar <lijo.la...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_device.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
index bf32e547182c..2cfef3f9456f 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
@@ -644,12 +644,14 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
         * If the VMID range changes for GFX9.4.3, then this code MUST be
         * revisited.
         */
-       partition_mode = amdgpu_xcp_query_partition_mode(kfd->adev->xcp_mgr, 
AMDGPU_XCP_FL_LOCKED);
-       if (KFD_GC_VERSION(kfd) == IP_VERSION(9, 4, 3) &&
-           partition_mode == AMDGPU_CPX_PARTITION_MODE &&
-           kfd->num_nodes != 1) {
-               vmid_num_kfd /= 2;
-               first_vmid_kfd = last_vmid_kfd + 1 - vmid_num_kfd*2;
+       if (kfd->adev->xcp_mgr) {
+               partition_mode = 
amdgpu_xcp_query_partition_mode(kfd->adev->xcp_mgr,
+                                                                
AMDGPU_XCP_FL_LOCKED);
+               if (partition_mode == AMDGPU_CPX_PARTITION_MODE &&
+                   kfd->num_nodes != 1) {
+                       vmid_num_kfd /= 2;
+                       first_vmid_kfd = last_vmid_kfd + 1 - vmid_num_kfd*2;
+               }
        }
 
        /* Verify module parameters regarding mapped process number*/
-- 
2.40.1

Reply via email to