aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/amd64_edac.c2
-rw-r--r--drivers/edac/edac_mc.c10
2 files changed, 7 insertions, 5 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index e7d5d6b5dcf6..33780d856acb 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -1572,7 +1572,7 @@ static int f10_match_to_this_node(struct amd64_pvt *pvt, int dram_range,
1572 debugf1(" HoleOffset=0x%x HoleValid=0x%x IntlvSel=0x%x\n", 1572 debugf1(" HoleOffset=0x%x HoleValid=0x%x IntlvSel=0x%x\n",
1573 hole_off, hole_valid, intlv_sel); 1573 hole_off, hole_valid, intlv_sel);
1574 1574
1575 if (intlv_en || 1575 if (intlv_en &&
1576 (intlv_sel != ((sys_addr >> 12) & intlv_en))) 1576 (intlv_sel != ((sys_addr >> 12) & intlv_en)))
1577 return -EINVAL; 1577 return -EINVAL;
1578 1578
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 6b21e25f7a84..6d2e34d0f52a 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -578,14 +578,16 @@ struct mem_ctl_info *edac_mc_del_mc(struct device *dev)
578 return NULL; 578 return NULL;
579 } 579 }
580 580
581 /* marking MCI offline */
582 mci->op_state = OP_OFFLINE;
583
584 del_mc_from_global_list(mci); 581 del_mc_from_global_list(mci);
585 mutex_unlock(&mem_ctls_mutex); 582 mutex_unlock(&mem_ctls_mutex);
586 583
587 /* flush workq processes and remove sysfs */ 584 /* flush workq processes */
588 edac_mc_workq_teardown(mci); 585 edac_mc_workq_teardown(mci);
586
587 /* marking MCI offline */
588 mci->op_state = OP_OFFLINE;
589
590 /* remove from sysfs */
589 edac_remove_sysfs_mci_device(mci); 591 edac_remove_sysfs_mci_device(mci);
590 592
591 edac_printk(KERN_INFO, EDAC_MC, 593 edac_printk(KERN_INFO, EDAC_MC,