aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2012-03-28 08:44:07 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2012-03-29 19:52:46 +0800
commit9612090527526a15832480c48b1f4b39e93e8a35 (patch)
treed34a4459c33251ed9dbcb395eb41dce790b9b75e
parent13614e0fb1a8840c134be35c179ff23e23676304 (diff)
padata: Fix cpu hotplug
We don't remove the cpu that went offline from our cpumasks on cpu hotplug. This got lost somewhere along the line, so restore it. This fixes a hang of the padata instance on cpu hotplug. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--kernel/padata.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/padata.c b/kernel/padata.c
index de3d0d97800..89fe3d1b9ef 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -748,6 +748,9 @@ static int __padata_remove_cpu(struct padata_instance *pinst, int cpu)
return -ENOMEM;
padata_replace(pinst, pd);
+
+ cpumask_clear_cpu(cpu, pd->cpumask.cbcpu);
+ cpumask_clear_cpu(cpu, pd->cpumask.pcpu);
}
return 0;