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

Reply via email to