diff options
author | Archana Sathyakumar <asathyak@codeaurora.org> | 2016-06-29 11:47:47 -0600 |
---|---|---|
committer | Archana Sathyakumar <asathyak@codeaurora.org> | 2016-09-08 10:28:08 -0600 |
commit | 5f41544562b528b9dbab947c22da4eadb5b052a7 (patch) | |
tree | f72aee44c4112c4836028a34c6645c3b85351328 /drivers/power/qcom | |
parent | c6855ffd7f2bab457b4be5c383110868e662cedf (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.c | 14 |
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]; |