From 107fdfde3221e5619cac8735d4f3d2935e21ec68 Mon Sep 17 00:00:00 2001 From: Vincent Huang Date: Mon, 9 Dec 2019 14:12:54 +0800 Subject: [PATCH] synaptics: Fix problem after match is failed This fixes the the problem that the sensor becomes unresponsive after pressing the wrong fingerprint. We fix the problem by making sure that the non-match report is delayed until the finger is removed. With this we cannot run into the situation that the next match request fails immediately as the finger is still present. Fixes: #208 --- libfprint/drivers/synaptics/synaptics.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c index 247b6581..6ed6791e 100644 --- a/libfprint/drivers/synaptics/synaptics.c +++ b/libfprint/drivers/synaptics/synaptics.c @@ -168,7 +168,7 @@ cmd_recieve_cb (FpiUsbTransfer *transfer, * depending on resp.complete. */ if (self->cmd_pending_transfer) fpi_ssm_jump_to_state (transfer->ssm, SYNAPTICS_CMD_SEND_PENDING); - else if (!resp.complete) + else if (!resp.complete || self->cmd_complete_on_removal) fpi_ssm_next_state (transfer->ssm); /* SYNAPTICS_CMD_WAIT_INTERRUPT */ else fpi_ssm_mark_completed (transfer->ssm);