summaryrefslogtreecommitdiff
path: root/drivers/power/qcom
diff options
context:
space:
mode:
authorArchana Sathyakumar <asathyak@codeaurora.org>2016-06-29 11:47:47 -0600
committerArchana Sathyakumar <asathyak@codeaurora.org>2016-09-08 10:28:08 -0600
commit5f41544562b528b9dbab947c22da4eadb5b052a7 (patch)
treef72aee44c4112c4836028a34c6645c3b85351328 /drivers/power/qcom
parentc6855ffd7f2bab457b4be5c383110868e662cedf (diff)
msm-core: debug: Fix the number of arguments for sysfs nodes
Ptable and enable node parses the input arguments incorrectly. Parse the input message into exact number of arguments that are required for the respective nodes. CRs-fixed: 1032875 Change-Id: I881f18217b703a497efa4799288dee39a28ea8ab Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Diffstat (limited to 'drivers/power/qcom')
-rw-r--r--drivers/power/qcom/debug_core.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/power/qcom/debug_core.c b/drivers/power/qcom/debug_core.c
index d3620bbbeafa..e9c578f7b75e 100644
--- a/drivers/power/qcom/debug_core.c
+++ b/drivers/power/qcom/debug_core.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2014-2016, 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
@@ -22,6 +22,8 @@
#include "soc/qcom/msm-core.h"
#define MAX_PSTATES 50
+#define NUM_OF_PENTRY 3 /* number of variables for ptable node */
+#define NUM_OF_EENTRY 2 /* number of variables for enable node */
enum arg_offset {
CPU_OFFSET,
@@ -131,13 +133,15 @@ static void add_to_ptable(uint64_t *arg)
node->ptr->len = node->len;
}
-static int split_ptable_args(char *line, uint64_t *arg)
+static int split_ptable_args(char *line, uint64_t *arg, uint32_t n)
{
char *args;
int i;
int ret = 0;
- for (i = 0; line; i++) {
+ for (i = 0; i < n; i++) {
+ if (!line)
+ break;
args = strsep(&line, " ");
ret = kstrtoull(args, 10, &arg[i]);
}
@@ -163,7 +167,7 @@ static ssize_t msm_core_ptable_write(struct file *file,
goto done;
}
kbuf[len] = '\0';
- ret = split_ptable_args(kbuf, arg);
+ ret = split_ptable_args(kbuf, arg, NUM_OF_PENTRY);
if (!ret) {
add_to_ptable(arg);
ret = len;
@@ -227,7 +231,7 @@ static ssize_t msm_core_enable_write(struct file *file,
goto done;
}
kbuf[len] = '\0';
- ret = split_ptable_args(kbuf, arg);
+ ret = split_ptable_args(kbuf, arg, NUM_OF_EENTRY);
if (ret)
goto done;
cpu = arg[CPU_OFFSET];