diff options
author | Steffen Klassert <steffen.klassert@secunet.com> | 2012-03-28 08:44:07 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2012-03-29 13:52:46 +0200 |
commit | 9612090527526a15832480c48b1f4b39e93e8a35 (patch) | |
tree | d34a4459c33251ed9dbcb395eb41dce790b9b75e /kernel | |
parent | padata: Use the online cpumask as the default (diff) | |
download | linux-9612090527526a15832480c48b1f4b39e93e8a35.tar.xz linux-9612090527526a15832480c48b1f4b39e93e8a35.zip |
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>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/padata.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/padata.c b/kernel/padata.c index de3d0d97800a..89fe3d1b9efb 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; |