queue_hotplug_event() gets called from interrupt handler code. Use GFP_ATOMIC allocations instead of GFP_KERNEL.
Signed-off-by: Bharata B Rao <bhar...@linux.ibm.com> --- arch/powerpc/platforms/pseries/dlpar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c index 17958043e7f7..79b36d91be28 100644 --- a/arch/powerpc/platforms/pseries/dlpar.c +++ b/arch/powerpc/platforms/pseries/dlpar.c @@ -387,10 +387,10 @@ void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog) struct pseries_hp_errorlog *hp_errlog_copy; hp_errlog_copy = kmalloc(sizeof(struct pseries_hp_errorlog), - GFP_KERNEL); + GFP_ATOMIC); memcpy(hp_errlog_copy, hp_errlog, sizeof(struct pseries_hp_errorlog)); - work = kmalloc(sizeof(struct pseries_hp_work), GFP_KERNEL); + work = kmalloc(sizeof(struct pseries_hp_work), GFP_ATOMIC); if (work) { INIT_WORK((struct work_struct *)work, pseries_hp_work_fn); work->errlog = hp_errlog_copy; -- 2.17.1