[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: David S. Peterson <dsp@llnl.gov> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
749ede5744
Коммит
a1d03fcc13
|
@ -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);
|
||||
|
||||
|
@ -1511,24 +1529,6 @@ finish:
|
|||
}
|
||||
|
||||
|
||||
|
||||
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);
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче