提交 a1d03fcc 编写于 作者: D Dave Peterson 提交者: Linus Torvalds

[PATCH] EDAC: edac_mc_add_mc fix [1/2]

This is part 1 of a 2-part patch set.  The code changes are split into
two parts to make the patches more readable.

Move complete_mc_list_del() and del_mc_from_global_list() so we can
call del_mc_from_global_list() from edac_mc_add_mc() without forward
declarations.  Perhaps using forward declarations would be better?
I'm doing things this way because the rest of the code is missing
them.
Signed-off-by: NDavid S. Peterson <dsp@llnl.gov>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 749ede57
...@@ -1451,6 +1451,24 @@ static int add_mc_to_global_list (struct mem_ctl_info *mci) ...@@ -1451,6 +1451,24 @@ static int add_mc_to_global_list (struct mem_ctl_info *mci)
} }
static void complete_mc_list_del (struct rcu_head *head)
{
struct mem_ctl_info *mci;
mci = container_of(head, struct mem_ctl_info, rcu);
INIT_LIST_HEAD(&mci->link);
complete(&mci->complete);
}
static void del_mc_from_global_list (struct mem_ctl_info *mci)
{
list_del_rcu(&mci->link);
init_completion(&mci->complete);
call_rcu(&mci->rcu, complete_mc_list_del);
wait_for_completion(&mci->complete);
}
EXPORT_SYMBOL(edac_mc_add_mc); EXPORT_SYMBOL(edac_mc_add_mc);
...@@ -1511,24 +1529,6 @@ int edac_mc_add_mc(struct mem_ctl_info *mci) ...@@ -1511,24 +1529,6 @@ int edac_mc_add_mc(struct mem_ctl_info *mci)
} }
static void complete_mc_list_del (struct rcu_head *head)
{
struct mem_ctl_info *mci;
mci = container_of(head, struct mem_ctl_info, rcu);
INIT_LIST_HEAD(&mci->link);
complete(&mci->complete);
}
static void del_mc_from_global_list (struct mem_ctl_info *mci)
{
list_del_rcu(&mci->link);
init_completion(&mci->complete);
call_rcu(&mci->rcu, complete_mc_list_del);
wait_for_completion(&mci->complete);
}
EXPORT_SYMBOL(edac_mc_del_mc); EXPORT_SYMBOL(edac_mc_del_mc);
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册