summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhaoweilo <haowei.lo@fingerprints.com>2024-03-27 15:23:05 +0800
committerMarco Trevisan <mail@3v1n0.net>2024-04-17 08:33:24 +0000
commite71f3de786c9dab87ee270725e89e2cf4bbec4a2 (patch)
treeff0a3d8684d0a76c344173e1a1b5ad626eb690fa
parent420fd7416dcbe242a507fd93c89a3bd44f6d8a1f (diff)
fpcmoc: add error handling to evt_finger_dwn
Redo the current task state if we got failed status from evt_finger_dwn
-rw-r--r--libfprint/drivers/fpcmoc/fpc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libfprint/drivers/fpcmoc/fpc.c b/libfprint/drivers/fpcmoc/fpc.c
index 0a7bc14..0b11d63 100644
--- a/libfprint/drivers/fpcmoc/fpc.c
+++ b/libfprint/drivers/fpcmoc/fpc.c
@@ -445,10 +445,16 @@ fpc_evt_cb (FpiDeviceFpcMoc *self,
break;
case FPC_EVT_FINGER_DWN:
- fp_dbg ("%s Got finger down event", G_STRFUNC);
+ fp_dbg ("%s Got finger down event (%d)", G_STRFUNC, presp->evt_hdr.status);
fpi_device_report_finger_status_changes (FP_DEVICE (self),
FP_FINGER_STATUS_PRESENT,
FP_FINGER_STATUS_NONE);
+ if (presp->evt_hdr.status != 0)
+ {
+ /* Redo the current task state if capture failed */
+ fpi_ssm_jump_to_state (self->task_ssm, fpi_ssm_get_cur_state (self->task_ssm));
+ return;
+ }
break;
case FPC_EVT_IMG: