From: Wei Yongjun Date: Tue, 26 Feb 2013 08:39:14 +0000 (+0800) Subject: ghes_edac: fix to use list_for_each_entry_safe() when delete list items X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=5dae92a718570e6a942e0b882e53d25cab03b40f;p=deliverable%2Flinux.git ghes_edac: fix to use list_for_each_entry_safe() when delete list items Since we will remove items off the list using list_del() we need to use a safe version of the list_for_each_entry() macro aptly named list_for_each_entry_safe(). Signed-off-by: Wei Yongjun Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c index 636dcf18d5b6..bb534670ec02 100644 --- a/drivers/edac/ghes_edac.c +++ b/drivers/edac/ghes_edac.c @@ -523,9 +523,9 @@ EXPORT_SYMBOL_GPL(ghes_edac_register); void ghes_edac_unregister(struct ghes *ghes) { struct mem_ctl_info *mci; - struct ghes_edac_pvt *pvt; + struct ghes_edac_pvt *pvt, *tmp; - list_for_each_entry(pvt, &ghes_reglist, list) { + list_for_each_entry_safe(pvt, tmp, &ghes_reglist, list) { if (ghes == pvt->ghes) { mci = pvt->mci; edac_mc_del_mc(mci->pdev);