| From d9d04c263beccecd9a69589189a2d6e774b09040 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 12 Dec 2020 15:20:28 +0100 |
| Subject: EDAC/amd64: Do not load on family 0x15, model 0x13 |
| |
| From: Borislav Petkov <bp@suse.de> |
| |
| [ Upstream commit 6c13d7ff81e6d2f01f62ccbfa49d1b8d87f274d0 ] |
| |
| Those were only laptops and are very very unlikely to have ECC memory. |
| Currently, when the driver attempts to load, it issues: |
| |
| EDAC amd64: Error: F1 not found: device 0x1601 (broken BIOS?) |
| |
| because the PCI device is the wrong one (it uses the F15h default one). |
| |
| So do not load the driver on them as that is pointless. |
| |
| Reported-by: Don Curtis <bugrprt21882@online.de> |
| Signed-off-by: Borislav Petkov <bp@suse.de> |
| Tested-by: Don Curtis <bugrprt21882@online.de> |
| Link: http://bugzilla.opensuse.org/show_bug.cgi?id=1179763 |
| Link: https://lkml.kernel.org/r/20201218160622.20146-1-bp@alien8.de |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/edac/amd64_edac.c | 10 +++++++--- |
| 1 file changed, 7 insertions(+), 3 deletions(-) |
| |
| diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c |
| index f7087ddddb90..5754f429a8d2 100644 |
| --- a/drivers/edac/amd64_edac.c |
| +++ b/drivers/edac/amd64_edac.c |
| @@ -3342,10 +3342,13 @@ static struct amd64_family_type *per_family_init(struct amd64_pvt *pvt) |
| fam_type = &family_types[F15_M60H_CPUS]; |
| pvt->ops = &family_types[F15_M60H_CPUS].ops; |
| break; |
| + /* Richland is only client */ |
| + } else if (pvt->model == 0x13) { |
| + return NULL; |
| + } else { |
| + fam_type = &family_types[F15_CPUS]; |
| + pvt->ops = &family_types[F15_CPUS].ops; |
| } |
| - |
| - fam_type = &family_types[F15_CPUS]; |
| - pvt->ops = &family_types[F15_CPUS].ops; |
| break; |
| |
| case 0x16: |
| @@ -3539,6 +3542,7 @@ static int probe_one_instance(unsigned int nid) |
| pvt->mc_node_id = nid; |
| pvt->F3 = F3; |
| |
| + ret = -ENODEV; |
| fam_type = per_family_init(pvt); |
| if (!fam_type) |
| goto err_enable; |
| -- |
| 2.30.1 |
| |