mirror of https://github.com/torvalds/linux.git
drm/amdkfd: fixes for HMM mem allocation
Fix err return value and reset pgmap->type after checking it.
Fixes: c83dee9b63 ("drm/amdkfd: add SPM support for SVM")
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
Signed-off-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
7075893d1d
commit
02eed83abc
|
|
@ -1026,7 +1026,7 @@ int kgd2kfd_init_zone_device(struct amdgpu_device *adev)
|
||||||
} else {
|
} else {
|
||||||
res = devm_request_free_mem_region(adev->dev, &iomem_resource, size);
|
res = devm_request_free_mem_region(adev->dev, &iomem_resource, size);
|
||||||
if (IS_ERR(res))
|
if (IS_ERR(res))
|
||||||
return -ENOMEM;
|
return PTR_ERR(res);
|
||||||
pgmap->range.start = res->start;
|
pgmap->range.start = res->start;
|
||||||
pgmap->range.end = res->end;
|
pgmap->range.end = res->end;
|
||||||
pgmap->type = MEMORY_DEVICE_PRIVATE;
|
pgmap->type = MEMORY_DEVICE_PRIVATE;
|
||||||
|
|
@ -1042,10 +1042,10 @@ int kgd2kfd_init_zone_device(struct amdgpu_device *adev)
|
||||||
r = devm_memremap_pages(adev->dev, pgmap);
|
r = devm_memremap_pages(adev->dev, pgmap);
|
||||||
if (IS_ERR(r)) {
|
if (IS_ERR(r)) {
|
||||||
pr_err("failed to register HMM device memory\n");
|
pr_err("failed to register HMM device memory\n");
|
||||||
/* Disable SVM support capability */
|
|
||||||
pgmap->type = 0;
|
|
||||||
if (pgmap->type == MEMORY_DEVICE_PRIVATE)
|
if (pgmap->type == MEMORY_DEVICE_PRIVATE)
|
||||||
devm_release_mem_region(adev->dev, res->start, resource_size(res));
|
devm_release_mem_region(adev->dev, res->start, resource_size(res));
|
||||||
|
/* Disable SVM support capability */
|
||||||
|
pgmap->type = 0;
|
||||||
return PTR_ERR(r);
|
return PTR_ERR(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue