[PATCH] EDAC/amd64: remove unneeded call to reserve_mc_sibling_devs()

From: Tom Rix
Date: Mon Feb 13 2023 - 14:16:06 EST


cpp_check reports
drivers/edac/amd64_edac.c:3943:37: error: Uninitialized variable: pci_id1 [uninitvar]
ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
^
drivers/edac/amd64_edac.c:3943:46: error: Uninitialized variable: pci_id2 [uninitvar]
ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
^
The call to reserve_mc_sibling_devs() will not fail because
if (pvt->umc)
return 0;

reserve_mc_sibling_devs() is only called by hw_info_get() and pvt->umc is only set
in hw_info_get(), so with fam >= 0x17, the call to reserver_mc_siblings will
just return, so the call the call is not needed. And when that call is moved
the check for umc is not needed.

Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
---
drivers/edac/amd64_edac.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index 1c4bef1cdf28..f6d50561c106 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -3179,9 +3179,6 @@ static void decode_umc_error(int node_id, struct mce *m)
static int
reserve_mc_sibling_devs(struct amd64_pvt *pvt, u16 pci_id1, u16 pci_id2)
{
- if (pvt->umc)
- return 0;
-
/* Reserve the ADDRESS MAP Device */
pvt->F1 = pci_get_related_function(pvt->F3->vendor, pci_id1, pvt->F3);
if (!pvt->F1) {
@@ -3938,11 +3935,11 @@ static int hw_info_get(struct amd64_pvt *pvt)
} else {
pci_id1 = fam_type->f1_id;
pci_id2 = fam_type->f2_id;
- }

- ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
- if (ret)
- return ret;
+ ret = reserve_mc_sibling_devs(pvt, pci_id1, pci_id2);
+ if (ret)
+ return ret;
+ }

read_mc_regs(pvt);

--
2.26.3