Re: [PATCH] sb_edac: Fix detection on SNB machines
From: Borislav Petkov
Date: Sun Feb 08 2015 - 13:19:58 EST
On Sun, Feb 08, 2015 at 08:54:06AM -0800, Andy Lutomirski wrote:
> If there isn't an obvious fix, I'd be okay with reverting, too. The
I think the obvious fix is this:
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 63aa6730e89e..1acf57ba4c86 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -2447,7 +2447,7 @@ static int sbridge_probe(struct pci_dev *pdev, const struct pci_device_id *id)
rc = sbridge_get_all_devices(&num_mc, pci_dev_descr_ibridge_table);
type = IVY_BRIDGE;
break;
- case PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TA:
+ case PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_HA0:
rc = sbridge_get_all_devices(&num_mc, pci_dev_descr_sbridge_table);
type = SANDY_BRIDGE;
break;
---
because you changed it to match the
PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_HA0
device in the id_table but sbridge_probe() still matches against
PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TA
when it is about to call sbridge_get_all_devices() to get the rest of
the SNB PCI devices. Currently, it simply doesn't match any of the case
options in the switch-case statement there.
And this is what I'm seeing here: we match the 0x3ca8 device in
sbridge_probe() but it gets handed in 0x3ca0 due to your change.
I'll run this tomorrow to confirm but this looks like the correct fix to
me. And it makes sense for a change :)
Thanks.
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/