diff --git a/drivers/input/misc/qcom-hv-haptics.c b/drivers/input/misc/qcom-hv-haptics.c index 9cc8b716a34d..5a5932ef6c65 100644 --- a/drivers/input/misc/qcom-hv-haptics.c +++ b/drivers/input/misc/qcom-hv-haptics.c @@ -1232,6 +1232,10 @@ static int haptics_load_predefined_effect(struct haptics_chip *chip, if (rc < 0) return rc; + rc = haptics_enable_autores(chip, !play->effect->auto_res_disable); + if (rc < 0) + return rc; + play->pattern_src = play->effect->src; if (play->pattern_src != PATTERN1 && play->pattern_src != PATTERN2 && @@ -1396,6 +1400,10 @@ static int haptics_load_custom_effect(struct haptics_chip *chip, if (rc < 0) goto cleanup; + rc = haptics_enable_autores(chip, !play->effect->auto_res_disable); + if (rc < 0) + goto cleanup; + play->pattern_src = FIFO; rc = haptics_set_fifo(chip, play->effect->fifo); if (rc < 0) @@ -1628,6 +1636,9 @@ static int haptics_store_cl_brake_settings(struct haptics_chip *chip) int rc = 0; u8 val; + if (!chip->cl_brake_nvmem) + return 0; + val = MOD_STATUS_SEL_BRAKE_CAL_RNAT_RCAL_VAL; rc = haptics_write(chip, chip->cfg_addr_base, HAP_CFG_MOD_STATUS_SEL_REG, &val, 1);