summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeung-Woo Kim <sw0312.kim@samsung.com>2019-12-23 19:48:32 +0900
committerSeung-Woo Kim <sw0312.kim@samsung.com>2019-12-27 10:57:22 +0900
commitea9c04d92770256fd1273493d07119bcc6f6b9e8 (patch)
tree8dd85d912515047e112ff9a1c06f7e2396bcb225
parent607199f92b9d434bb0b345bf0268ffec92225a0f (diff)
downloadlinux-4.9-exynos9110-ea9c04d92770256fd1273493d07119bcc6f6b9e8.tar.gz
linux-4.9-exynos9110-ea9c04d92770256fd1273493d07119bcc6f6b9e8.tar.bz2
linux-4.9-exynos9110-ea9c04d92770256fd1273493d07119bcc6f6b9e8.zip
Input: zxt_ztm620_ts: Remove possible overflow by using strlcat()
The strncat() from a buffer to other buffer with same size can make overflow. Remove the possible overflow by replacing strncat() to strlcat(). Change-Id: I2d98f7548c87e048726bf4c3dc7ed942270565d9 Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
-rw-r--r--drivers/input/touchscreen/zxt_ztm620_ts.c180
1 files changed, 63 insertions, 117 deletions
diff --git a/drivers/input/touchscreen/zxt_ztm620_ts.c b/drivers/input/touchscreen/zxt_ztm620_ts.c
index f4d396469fb3..b1272fc33fcf 100644
--- a/drivers/input/touchscreen/zxt_ztm620_ts.c
+++ b/drivers/input/touchscreen/zxt_ztm620_ts.c
@@ -2444,9 +2444,9 @@ static struct tsp_cmd tsp_cmds[] = {
{TSP_CMD("get_ssr_read", get_ssr_read),},
};
-static inline void set_cmd_result(struct tsp_factory_info *finfo, char *buff, int len)
+static inline void set_cmd_result(struct tsp_factory_info *finfo, char *buff)
{
- strncat(finfo->cmd_result, buff, len);
+ strlcat(finfo->cmd_result, buff, sizeof(finfo->cmd_result));
}
static inline void set_default_result(struct tsp_factory_info *finfo)
@@ -2588,8 +2588,7 @@ static void run_connect_test(void *device_data)
(int)strlen(finfo->cmd_buff));
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
enable_irq(info->irq);
return;
@@ -2748,8 +2747,7 @@ static void fw_update(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff) , "%s", "OK");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
(int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
@@ -2762,8 +2760,7 @@ err_open:
set_fs(old_fs);
update_fail:
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff) , "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
#ifdef ZINITIX_FILE_DEBUG
@@ -2812,8 +2809,7 @@ static void set_touchmode(void *device_data)
finfo->cmd_state = FAIL;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
#endif
@@ -2838,8 +2834,7 @@ static void set_touchreg(void *device_data)
finfo->cmd_state = FAIL;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
static int read_fw_verify_result(struct ztm620_info *info)
@@ -2897,8 +2892,7 @@ static void get_fw_verify_result(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK,%04X", info->checksum);
finfo->cmd_state = OK;
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
static void get_touchreg(void *device_data)
@@ -2920,8 +2914,7 @@ static void get_touchreg(void *device_data)
finfo->cmd_state = FAIL;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
static void get_fw_ver_bin(void *device_data)
@@ -2963,8 +2956,7 @@ static void get_fw_ver_bin(void *device_data)
length = sizeof(vendor_id);
snprintf(finfo->cmd_buff, length + 1, "%s", "ZI");
snprintf(finfo->cmd_buff + length, sizeof(finfo->cmd_buff) - length, "%06X", version);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -2997,8 +2989,7 @@ static void disable_factory_test(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "OK");
- set_cmd_result(finfo, finfo->cmd_buff,
- (int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
(int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
@@ -3008,8 +2999,7 @@ static void disable_factory_test(void *device_data)
out:
finfo->cmd_state = FAIL;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
static void enable_factory_test(void *device_data)
@@ -3036,8 +3026,7 @@ static void enable_factory_test(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "OK");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
(int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
@@ -3047,8 +3036,7 @@ static void enable_factory_test(void *device_data)
out:
finfo->cmd_state = FAIL;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
}
static void get_fw_ver_ic(void *device_data)
@@ -3099,8 +3087,7 @@ out:
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff) , "%s", "NG");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
(int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
}
@@ -3115,8 +3102,7 @@ static void get_threshold(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff),
"%d", info->cap_info.threshold);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3134,8 +3120,7 @@ static void get_chip_vendor(void *device_data)
set_default_result(finfo);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ZTM620_VENDOR_NAME);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3164,8 +3149,7 @@ static void get_chip_name(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ZT7538_CHIP_NAME);
else
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ZTM620_VENDOR_NAME);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3184,8 +3168,7 @@ static void get_x_num(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff),
"%u", info->cap_info.y_node_num);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3204,8 +3187,7 @@ static void get_y_num(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff),
"%u", info->cap_info.x_node_num);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3223,8 +3205,7 @@ static void not_support_cmd(void *device_data)
set_default_result(finfo);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "NA");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = NOT_APPLICABLE;
mutex_lock(&finfo->cmd_lock);
@@ -3253,8 +3234,7 @@ static void get_all_data(struct ztm620_info *info,
if (!data) {
dev_err(&client->dev, "%s: data is NULL\n", __func__);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "FAIL");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
goto all_data_out;
}
@@ -3269,8 +3249,7 @@ static void get_all_data(struct ztm620_info *info,
dev_info(&client->dev,
"%s: Please do cmd_param '0' first\n", __func__);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = NOT_APPLICABLE;
goto all_data_out;
}
@@ -3311,8 +3290,7 @@ static void get_all_data(struct ztm620_info *info,
dev_err(&client->dev,
"%s: not defined data type\n", __func__);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = NOT_APPLICABLE;
devm_kfree(&client->dev, buff);
goto all_data_out;
@@ -3329,14 +3307,13 @@ static void get_all_data(struct ztm620_info *info,
if (index == node_num)
index = 0;
- set_cmd_result(finfo, buff, TSP_CMD_RESULT_STR_LEN);
+ set_cmd_result(finfo, buff);
finfo->cmd_state = OK;
devm_kfree(&client->dev, buff);
} else {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "kzalloc failed");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = NOT_APPLICABLE;
}
@@ -3469,8 +3446,7 @@ static void run_ssr_read(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max);
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE);
if (ret)
@@ -3501,8 +3477,7 @@ static void get_ssr_read(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3553,8 +3528,7 @@ static void run_sfr_read(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max);
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE);
if (ret)
@@ -3585,8 +3559,7 @@ static void get_sfr_read(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3655,8 +3628,7 @@ static void run_sfr_h_gap_read(void *device_data)
pr_cont("\n");
}
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: min:[%d], max:[%d]\n", __func__, min, max);
@@ -3683,8 +3655,7 @@ static void get_sfr_h_gap_read(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3745,8 +3716,7 @@ static void run_trx_short_read(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK");
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE);
if (ret)
@@ -3777,8 +3747,7 @@ static void get_trx_short_read(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3833,8 +3802,7 @@ static void run_dnd_read(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK");
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE);
if (ret)
@@ -3862,7 +3830,7 @@ static void get_dnd(void *device_data)
if (y_node < 0 || y_node >= info->cap_info.x_node_num) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -3874,8 +3842,7 @@ static void get_dnd(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -3939,8 +3906,7 @@ static void run_dnd_v_gap_read(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", screen_max, touchkey_max);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
return;
@@ -4008,8 +3974,7 @@ static void run_dnd_h_gap_read(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", screen_max, touchkey_max);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
return;
@@ -4032,7 +3997,7 @@ static void get_dnd_h_gap(void *device_data)
if (y_node < 0 || y_node >= x_num) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -4044,8 +4009,7 @@ static void get_dnd_h_gap(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4069,7 +4033,7 @@ static void get_dnd_v_gap(void *device_data)
if (y_node < 0 || y_node >= x_num-1) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -4081,8 +4045,7 @@ static void get_dnd_v_gap(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4136,8 +4099,7 @@ static void run_hfdnd_read(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK");
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
ret = ztm620_set_touchmode(info, TOUCH_POINT_MODE);
if (ret)
@@ -4164,7 +4126,7 @@ static void get_hfdnd(void *device_data)
if (y_node < 0 || y_node >= info->cap_info.x_node_num) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -4176,8 +4138,7 @@ static void get_hfdnd(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4232,8 +4193,7 @@ static void run_hfdnd_v_gap_read(void *device_data)
pr_cont("\n");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4258,7 +4218,7 @@ static void get_hfdnd_v_gap(void *device_data)
if (y_node < 0 || y_node >= x_num-1) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -4270,8 +4230,7 @@ static void get_hfdnd_v_gap(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4331,8 +4290,7 @@ static void run_hfdnd_h_gap_read(void *device_data)
pr_cont("\n");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4359,7 +4317,7 @@ static void get_hfdnd_h_gap(void *device_data)
if (y_node < 0 || y_node >= x_num) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "NG");
- set_cmd_result(finfo, finfo->cmd_buff, strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -4371,8 +4329,7 @@ static void get_hfdnd_h_gap(void *device_data)
strcat(finfo->cmd_buff, " ");
}
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4427,8 +4384,7 @@ static void run_delta_read(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max);
if (!info->get_all_data) {
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
}
@@ -4461,8 +4417,7 @@ static void get_delta(void *device_data)
if (x_node < 0 || x_node >= info->cap_info.x_node_num ||
y_node < 0 || y_node >= info->cap_info.y_node_num) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "abnormal");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
return;
}
@@ -4471,8 +4426,7 @@ static void get_delta(void *device_data)
val = raw_data->delta_data[node_num];
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%u", val);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4510,8 +4464,7 @@ static void dead_zone_enable(void *device_data)
finfo->cmd_state = OK;
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "OK");
err:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
(int)strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
@@ -4544,8 +4497,7 @@ static void clear_cover_mode(void *device_data)
info->cover_state = arg;
ztm620_cover_set(info);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_is_running = false;
finfo->cmd_state = OK;
@@ -4611,8 +4563,7 @@ static void run_reference_read(void *device_data)
}
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%d,%d", min, max);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
out:
@@ -4644,8 +4595,7 @@ static void get_reference(void *device_data)
if (x_node < 0 || x_node >= info->cap_info.x_node_num ||
y_node < 0 || y_node >= info->cap_info.y_node_num) {
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "abnormal");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
info->factory_info->cmd_state = FAIL;
return;
@@ -4655,8 +4605,7 @@ static void get_reference(void *device_data)
val = raw_data->reference_data[node_num];
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%u", val);
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d), x=%d, y=%d\n", __func__, finfo->cmd_buff,
@@ -4703,8 +4652,7 @@ static void clear_reference_data(void *device_data)
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "OK");
out:
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -4739,8 +4687,7 @@ static void run_ref_calibration(void *device_data)
enable_irq(info->irq);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", ret ? "OK" : "NG");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = OK;
dev_info(&client->dev, "%s: %s(%d)\n", __func__, finfo->cmd_buff,
@@ -5020,8 +4967,7 @@ static ssize_t store_cmd(struct device *dev, struct device_attribute
if (!info->device_enabled) {
set_default_result(finfo);
snprintf(finfo->cmd_buff, sizeof(finfo->cmd_buff), "%s", "FAIL");
- set_cmd_result(finfo, finfo->cmd_buff,
- strnlen(finfo->cmd_buff, sizeof(finfo->cmd_buff)));
+ set_cmd_result(finfo, finfo->cmd_buff);
finfo->cmd_state = FAIL;
dev_err(&client->dev, "%s: TSP is not enabled.\n", __func__);
goto err_out;