diff options
author | Wendly Li <wendlyli@google.com> | 2022-01-06 07:52:19 +0000 |
---|---|---|
committer | Wendly Li <wendlyli@google.com> | 2022-01-21 03:53:14 +0000 |
commit | 0f9e7e8f390c3d06c81cac7c2a94d341a25cd896 (patch) | |
tree | 582bc6c608ebec8cfbf4631c00ee7c17970665b5 /goodix_cfg_bin.c | |
parent | f4cbd1e784f777c544763bb0e2bdb65ad5c685cf (diff) | |
download | goodix_touch-0f9e7e8f390c3d06c81cac7c2a94d341a25cd896.tar.gz |
Import v1.0.0 driver
Bug: 214018056
Bug: 214118475
Change-Id: I34f2afbc46ad1e4ac025cf199f323cf09e27ddec
Signed-off-by: Wendly Li <wendlyli@google.com>
Diffstat (limited to 'goodix_cfg_bin.c')
-rw-r--r-- | goodix_cfg_bin.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/goodix_cfg_bin.c b/goodix_cfg_bin.c index 922aee4..42b991a 100644 --- a/goodix_cfg_bin.c +++ b/goodix_cfg_bin.c @@ -167,9 +167,9 @@ static int goodix_parse_cfg_bin(struct goodix_cfg_bin *cfg_bin) /*check cfg_bin valid*/ checksum = 0; - for (i = TS_BIN_VERSION_START_INDEX; i < cfg_bin->bin_data_len; i++) { + for (i = TS_BIN_VERSION_START_INDEX; i < cfg_bin->bin_data_len; i++) checksum += cfg_bin->bin_data[i]; - } + if (checksum != cfg_bin->head.checksum) { ts_err("cfg_bin checksum check filed 0x%02x != 0x%02x", cfg_bin->head.checksum, checksum); @@ -180,10 +180,8 @@ static int goodix_parse_cfg_bin(struct goodix_cfg_bin *cfg_bin) cfg_bin->cfg_pkgs = kzalloc( sizeof(struct goodix_cfg_package) * cfg_bin->head.pkg_num, GFP_KERNEL); - if (!cfg_bin->cfg_pkgs) { - ts_err("cfg_pkgs, allocate memory ERROR"); + if (!cfg_bin->cfg_pkgs) return -ENOMEM; - } /*get cfg_pkg's info*/ for (i = 0; i < cfg_bin->head.pkg_num; i++) { @@ -296,8 +294,7 @@ static int goodix_get_reg_and_cfg( err_out: /* parse config enter error, release memory alloced */ for (i = 0; i < GOODIX_MAX_CONFIG_GROUP; i++) { - if (cd->ic_configs[i]) - kfree(cd->ic_configs[i]); + kfree(cd->ic_configs[i]); cd->ic_configs[i] = NULL; } return -EINVAL; |