From: Mauro Carvalho Chehab Date: Tue, 29 May 2012 14:28:05 +0000 (-0300) Subject: Merge branch 'fixes' into next X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Fhw_events_v29;p=users%2Fmchehab%2Fedac.git Merge branch 'fixes' into next * fixes: edac: fix the error about memory type detection on SandyBridge edac: avoid mce decoding crash after edac driver unloaded --- cfa0284c398d5aee16d0fb021687b399fd7a4b1b diff --cc drivers/edac/i7core_edac.c index 0899d7da7248,0fe2277d8672..dd1ac9496d09 --- a/drivers/edac/i7core_edac.c +++ b/drivers/edac/i7core_edac.c @@@ -2465,8 -2488,9 +2457,9 @@@ static int __init i7core_init(void */ static void __exit i7core_exit(void) { - debugf2("MC: " __FILE__ ": %s()\n", __func__); + edac_dbg(2, "\n"); pci_unregister_driver(&i7core_driver); + mce_unregister_decode_chain(&i7_mce_dec); } module_init(i7core_init); diff --cc drivers/edac/sb_edac.c index 05955bfda849,0f9552d6b564..32061d9cb423 --- a/drivers/edac/sb_edac.c +++ b/drivers/edac/sb_edac.c @@@ -555,13 -599,13 +555,13 @@@ static int get_dimm_config(struct mem_c pvt->is_close_pg = false; } - pci_read_config_dword(pvt->pci_ta, RANK_CFG_A, ®); + pci_read_config_dword(pvt->pci_ddrio, RANK_CFG_A, ®); if (IS_RDIMM_ENABLED(reg)) { /* FIXME: Can also be LRDIMM */ - debugf0("Memory is registered\n"); + edac_dbg(0, "Memory is registered\n"); mtype = MEM_RDDR3; } else { - debugf0("Memory is unregistered\n"); + edac_dbg(0, "Memory is unregistered\n"); mtype = MEM_DDR3; } @@@ -1597,15 -1666,13 +1597,13 @@@ static void sbridge_unregister_mci(stru pvt = mci->pvt_info; - debugf0("MC: " __FILE__ ": %s(): mci = %p, dev = %p\n", - __func__, mci, &sbridge_dev->pdev[0]->dev); + edac_dbg(0, "MC: mci = %p, dev = %p\n", + mci, &sbridge_dev->pdev[0]->dev); - mce_unregister_decode_chain(&sbridge_mce_dec); - /* Remove MC sysfs nodes */ - edac_mc_del_mc(mci->dev); + edac_mc_del_mc(mci->pdev); - debugf1("%s: free mci struct\n", mci->ctl_name); + edac_dbg(1, "%s: free mci struct\n", mci->ctl_name); kfree(mci->ctl_name); edac_mc_free(mci); sbridge_dev->mci = NULL; @@@ -1822,8 -1881,9 +1821,9 @@@ static int __init sbridge_init(void */ static void __exit sbridge_exit(void) { - debugf2("MC: " __FILE__ ": %s()\n", __func__); + edac_dbg(2, "\n"); pci_unregister_driver(&sbridge_driver); + mce_unregister_decode_chain(&sbridge_mce_dec); } module_init(sbridge_init);