From 11e379050ff34a6493b8433dea0ca9f7af563add Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Fri, 23 Apr 2021 13:25:41 +0200 Subject: [PATCH] goodixmoc: Ensure power button shield is always turned off Use the new cleanup feature of the SSM to ensure that the power button shield is turned off again even if the operation is cancelled. --- libfprint/drivers/goodixmoc/goodix.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libfprint/drivers/goodixmoc/goodix.c b/libfprint/drivers/goodixmoc/goodix.c index 3f296422..2ab01ab2 100644 --- a/libfprint/drivers/goodixmoc/goodix.c +++ b/libfprint/drivers/goodixmoc/goodix.c @@ -1443,8 +1443,10 @@ gx_fp_verify_identify (FpDevice *device) { FpiDeviceGoodixMoc *self = FPI_DEVICE_GOODIXMOC (device); - self->task_ssm = fpi_ssm_new (device, fp_verify_sm_run_state, - FP_VERIFY_NUM_STATES); + self->task_ssm = fpi_ssm_new_full (device, fp_verify_sm_run_state, + FP_VERIFY_NUM_STATES, + FP_VERIFY_PWR_BTN_SHIELD_OFF, + "verify"); fpi_ssm_start (self->task_ssm, fp_verify_ssm_done); @@ -1459,8 +1461,10 @@ gx_fp_enroll (FpDevice *device) self->enroll_stage = 0; self->is_enroll_identify = true; - self->task_ssm = fpi_ssm_new (device, fp_enroll_sm_run_state, - FP_ENROLL_NUM_STATES); + self->task_ssm = fpi_ssm_new_full (device, fp_enroll_sm_run_state, + FP_ENROLL_NUM_STATES, + FP_ENROLL_PWR_BTN_SHIELD_OFF, + "enroll"); fpi_ssm_start (self->task_ssm, fp_enroll_ssm_done);