LWIS: Checking the return value if i2c-lock-group-id property is not set
Fix the logic to prevent error when i2c-lock-group-id property is not
set
Bug: 232048919
Test: GCA
Signed-off-by: Holmes Chou <holmeschou@google.com>
Change-Id: Ic0c46a86c93011ecbec89e37f209a42b6bcf186e
diff --git a/lwis_dt.c b/lwis_dt.c
index abce913..3050aad 100644
--- a/lwis_dt.c
+++ b/lwis_dt.c
@@ -965,15 +965,20 @@
int ret;
dev_node = lwis_dev->plat_dev->dev.of_node;
+ /* Set i2c_lock_group_id value to default */
lwis_dev->i2c_lock_group_id = MAX_I2C_LOCK_NUM - 1;
ret = of_property_read_u32(dev_node, "i2c-lock-group-id", &lwis_dev->i2c_lock_group_id);
- if (ret && ret != -EINVAL) {
+ /* If no property in device tree, just return to use default */
+ if (ret == -EINVAL) {
+ return 0;
+ }
+ if (ret) {
pr_err("i2c-lock-group-id value wrong\n");
return ret;
}
if (lwis_dev->i2c_lock_group_id >= MAX_I2C_LOCK_NUM - 1) {
- pr_err("i2c-lock-group-id larger than MAX_I2C_LOCK_NUM - 1\n");
+ pr_err("i2c-lock-group-id need smaller than MAX_I2C_LOCK_NUM - 1\n");
return -EOVERFLOW;
}