mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-11 02:28:05 +00:00
Backport two upstream patches:
- imgdev: fix enum mismatch for dev_change_state() call - vfs101: Logical conjunction always evaluates to false
This commit is contained in:
@@ -0,0 +1,42 @@
|
|||||||
|
From 9f408bf51b7740e87c3d0b90e5adc5de3c37c052 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
|
||||||
|
Date: Tue, 7 Oct 2014 08:18:41 +0300
|
||||||
|
Subject: [PATCH 1/2] imgdev: fix enum mismatch for dev_change_state() call
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This bug has existed long time, but it was uncovered by commit
|
||||||
|
e215b0509448 which enabled multiple enrollment rounds.
|
||||||
|
|
||||||
|
In practice this broke (at least) URU4000 driver state machine
|
||||||
|
causing it to enter indefinite loop - due to the invalid state
|
||||||
|
change callback.
|
||||||
|
|
||||||
|
Patch originally posted at:
|
||||||
|
http://lists.freedesktop.org/archives/fprint/2014-June/000603.html
|
||||||
|
|
||||||
|
Test and verification results:
|
||||||
|
http://lists.freedesktop.org/archives/fprint/2014-June/000607.html
|
||||||
|
|
||||||
|
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
|
||||||
|
---
|
||||||
|
libfprint/imgdev.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libfprint/imgdev.c b/libfprint/imgdev.c
|
||||||
|
index f960ee3..3b5d3f3 100644
|
||||||
|
--- a/libfprint/imgdev.c
|
||||||
|
+++ b/libfprint/imgdev.c
|
||||||
|
@@ -159,7 +159,7 @@ void fpi_imgdev_report_finger_status(struct fp_img_dev *imgdev,
|
||||||
|
r > 0 && r != FP_ENROLL_COMPLETE && r != FP_ENROLL_FAIL) {
|
||||||
|
imgdev->action_result = 0;
|
||||||
|
imgdev->action_state = IMG_ACQUIRE_STATE_AWAIT_FINGER_ON;
|
||||||
|
- dev_change_state(imgdev, IMG_ACQUIRE_STATE_AWAIT_FINGER_ON);
|
||||||
|
+ dev_change_state(imgdev, IMGDEV_STATE_AWAIT_FINGER_ON);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case IMG_ACTION_VERIFY:
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
From 45fb6d790815eec3d9e08a9e459a325fbb9addc0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlos Olmedo Escobar <carlos.olmedo.e@gmail.com>
|
||||||
|
Date: Fri, 6 Feb 2015 17:22:16 +0100
|
||||||
|
Subject: [PATCH 2/2] vfs101: Logical conjunction always evaluates to false.
|
||||||
|
|
||||||
|
---
|
||||||
|
libfprint/drivers/vfs101.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libfprint/drivers/vfs101.c b/libfprint/drivers/vfs101.c
|
||||||
|
index db0b06e..84624eb 100644
|
||||||
|
--- a/libfprint/drivers/vfs101.c
|
||||||
|
+++ b/libfprint/drivers/vfs101.c
|
||||||
|
@@ -186,7 +186,7 @@ static int result_codes[2][RESULT_COUNT] =
|
||||||
|
static int result_code(struct fp_img_dev *dev, int result)
|
||||||
|
{
|
||||||
|
/* Check result value */
|
||||||
|
- if (result < 0 && result >= RESULT_COUNT)
|
||||||
|
+ if (result < 0 || result >= RESULT_COUNT)
|
||||||
|
return result;
|
||||||
|
|
||||||
|
/* Return result code */
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
||||||
Vendored
+2
@@ -1,4 +1,6 @@
|
|||||||
# Upstream backports
|
# Upstream backports
|
||||||
|
0001-imgdev-fix-enum-mismatch-for-dev_change_state-call.patch
|
||||||
|
0002-vfs101-Logical-conjunction-always-evaluates-to-false.patch
|
||||||
|
|
||||||
# Debian specifics
|
# Debian specifics
|
||||||
kFreeBSD_FTBFS_add_ETIME_definition.patch
|
kFreeBSD_FTBFS_add_ETIME_definition.patch
|
||||||
|
|||||||
Reference in New Issue
Block a user