diff
+static int validate_drm_client(struct drm_client_dev *client)
+{
+	if (!client || !client->dev || !client->funcs)
+		return -EINVAL;
+	return 0;
+}
+
 int amdgpu_amdkfd_drm_client_create(struct amdgpu_device *adev)
 {
 	int ret;
@@ -29,4 +37,8 @@ int amdgpu_amdkfd_drm_client_create(struct amdgpu_device *adev)
 		return ret;
 	}
+	ret = validate_drm_client(&adev->kfd.client);
+	if (ret) {
+		dev_err(adev->dev, "Invalid DRM client\n");
+		return ret;
+	}
 	drm_client_register(&adev->kfd.client);
