Messages in this thread Patch in this message | | | Date | Sun, 8 Feb 2015 19:19:16 +0100 | From | Borislav Petkov <> | Subject | Re: [PATCH] sb_edac: Fix detection on SNB machines |
| |
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. --
| |