ghes_edac: fix to use list_for_each_entry_safe() when delete list items
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Tue, 26 Feb 2013 08:39:14 +0000 (16:39 +0800)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 26 Feb 2013 13:05:35 +0000 (10:05 -0300)
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 <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/edac/ghes_edac.c

index 636dcf18d5b6e5d352c1ae7885765973fc80c8c8..bb534670ec02385714bce04c769b2d0ded4988d6 100644 (file)
@@ -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);