summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeeraj Soni <neersoni@codeaurora.org>2017-04-20 14:18:02 +0530
committerNeeraj Soni <neersoni@codeaurora.org>2017-04-20 14:18:02 +0530
commit42b8bf7d13add00738b5bc204cae0409d9728d37 (patch)
tree96f9529291ef7ca5e888b8c13d121f4f9a022ed9
parent541fe938d28fd1d61c22f25c031ebf600af2c61d (diff)
soc: qcom: Request GFP_NOIO for effective memory reclaim
Request for memory with GFP_NOIO so that new IO request is not raised while reclaiming the memory when system is having low memory. With GFP_KERNEL a deadlock is possible with scm function requsting for memory during PFK operation intiated by block layer through storage driver. With low memory system will try to reclaim some memory. If GFP_KERNEL is used this will lead to IO operation through storage driver which is already serving PFK encryption call hence can not take up this IO request causing deadlock. Change-Id: I1a4abbea31f430ca5f8ba030babf958a9ab51fdf Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
-rw-r--r--drivers/soc/qcom/scm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/soc/qcom/scm.c b/drivers/soc/qcom/scm.c
index 045a5001fc9f..36804b988d62 100644
--- a/drivers/soc/qcom/scm.c
+++ b/drivers/soc/qcom/scm.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -654,7 +654,7 @@ int scm_call2(u32 fn_id, struct scm_desc *desc)
if (unlikely(!is_scm_armv8()))
return -ENODEV;
- ret = allocate_extra_arg_buffer(desc, GFP_KERNEL);
+ ret = allocate_extra_arg_buffer(desc, GFP_NOIO);
if (ret)
return ret;