EDAC/amd64: Convert PCIBIOS_* return codes to errnos
commit 3ec8ebd8a5b782d56347ae884de880af26f93996 upstream. gpu_get_node_map() uses pci_read_config_dword() that returns PCIBIOS_* codes. The return code is then returned all the way into the module init function amd64_edac_init() that returns it as is. The module init functions, however, should return normal errnos. Convert PCIBIOS_* returns code using pcibios_err_to_errno() into normal errno before returning it from gpu_get_node_map(). For consistency, convert also the other similar cases which return PCIBIOS_* codes even if they do not have any bugs at the moment. Fixes: 4251566ebc1c ("EDAC/amd64: Cache and use GPU node map") Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20240527132236.13875-1-ilpo.jarvinen@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0a9007271e
commit
8f84ae5043
@ -80,7 +80,7 @@ int __amd64_read_pci_cfg_dword(struct pci_dev *pdev, int offset,
|
||||
amd64_warn("%s: error reading F%dx%03x.\n",
|
||||
func, PCI_FUNC(pdev->devfn), offset);
|
||||
|
||||
return err;
|
||||
return pcibios_err_to_errno(err);
|
||||
}
|
||||
|
||||
int __amd64_write_pci_cfg_dword(struct pci_dev *pdev, int offset,
|
||||
@ -93,7 +93,7 @@ int __amd64_write_pci_cfg_dword(struct pci_dev *pdev, int offset,
|
||||
amd64_warn("%s: error writing to F%dx%03x.\n",
|
||||
func, PCI_FUNC(pdev->devfn), offset);
|
||||
|
||||
return err;
|
||||
return pcibios_err_to_errno(err);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1016,8 +1016,10 @@ static int gpu_get_node_map(void)
|
||||
}
|
||||
|
||||
ret = pci_read_config_dword(pdev, REG_LOCAL_NODE_TYPE_MAP, &tmp);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
ret = pcibios_err_to_errno(ret);
|
||||
goto out;
|
||||
}
|
||||
|
||||
gpu_node_map.node_count = FIELD_GET(LNTM_NODE_COUNT, tmp);
|
||||
gpu_node_map.base_node_id = FIELD_GET(LNTM_BASE_NODE_ID, tmp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user