mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-11 18:38:07 +00:00
Update patches list for 0.5.1, drop 6 patches incorporated or backported from upstream, refresh one
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
From 1f1d14d5fad50a469c1214a394e4a89d7d32101d Mon Sep 17 00:00:00 2001
|
||||
From: Didier Raboud <odyx@debian.org>
|
||||
Date: Mon, 25 Jun 2012 22:47:26 +0200
|
||||
Subject: [PATCH] Fix blacklist handling in udev rules creation.
|
||||
|
||||
---
|
||||
libfprint/fprint-list-udev-rules.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/libfprint/fprint-list-udev-rules.c
|
||||
+++ b/libfprint/fprint-list-udev-rules.c
|
||||
@@ -52,7 +52,7 @@
|
||||
blacklist = 0;
|
||||
for (j = 0; blacklist_id_table[j].vendor != 0; j++) {
|
||||
if (driver->id_table[i].vendor == blacklist_id_table[j].vendor &&
|
||||
- driver->id_table[j].product == blacklist_id_table[j].product) {
|
||||
+ driver->id_table[i].product == blacklist_id_table[j].product) {
|
||||
blacklist = 1;
|
||||
break;
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
From b6c2f72400a15873978717875894854e1136e428 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Bicha <jbicha@ubuntu.com>
|
||||
Date: Sat, 20 Apr 2013 11:33:17 -0400
|
||||
Subject: [PATCH] build: Fix underlinking against glib
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=63755
|
||||
---
|
||||
libfprint/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libfprint/Makefile.am b/libfprint/Makefile.am
|
||||
index 7a16782..4dee301 100644
|
||||
--- a/libfprint/Makefile.am
|
||||
+++ b/libfprint/Makefile.am
|
||||
@@ -88,7 +88,7 @@ libfprint_la_LIBADD = -lm $(LIBUSB_LIBS) $(GLIB_LIBS) $(CRYPTO_LIBS)
|
||||
|
||||
fprint_list_udev_rules_SOURCES = fprint-list-udev-rules.c
|
||||
fprint_list_udev_rules_CFLAGS = -fvisibility=hidden -I$(srcdir)/nbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(IMAGEMAGICK_CFLAGS) $(CRYPTO_CFLAGS) $(AM_CFLAGS)
|
||||
-fprint_list_udev_rules_LDADD = $(builddir)/libfprint.la
|
||||
+fprint_list_udev_rules_LDADD = $(builddir)/libfprint.la $(GLIB_LIBS)
|
||||
|
||||
udev_rules_DATA = 60-fprint-autosuspend.rules
|
||||
|
||||
--
|
||||
1.8.1.2
|
||||
|
||||
Vendored
-6
@@ -1,12 +1,6 @@
|
||||
# Upstream backports
|
||||
u7e1646c-uru4000-fix-race-condition-on-waiting-power-up-irq.patch
|
||||
u8a87ba4-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch
|
||||
u0b2d33c-imgdev-fix-cancelling-of-enrollment-from-stage_completed-callback.patch
|
||||
u3b3679c-upeke2-Add-support-for-147e-2020-ID.patch
|
||||
|
||||
# Debian specifics
|
||||
kFreeBSD_FTBFS_add_ETIME_definition.patch
|
||||
udev-rules-creation-add-Debian-specifics.patch
|
||||
Fix-blacklist-handling-in-udev-rules-creation.patch
|
||||
use-non-versionned-libusbh-path.patch
|
||||
link-against-glib.patch
|
||||
|
||||
Vendored
-29
@@ -1,29 +0,0 @@
|
||||
From 0b2d33c712d6917ed71068188788a258a4dce61e Mon Sep 17 00:00:00 2001
|
||||
From: Timo Teräs <timo.teras@iki.fi>
|
||||
Date: Mon, 03 Dec 2012 07:57:25 +0000
|
||||
Subject: imgdev: fix cancelling of enrollment from stage_completed callback
|
||||
|
||||
Re-check device state after fpi_drvcb_enroll_stage_completed().
|
||||
If enrollment was cancelled after non-completing stage, we must
|
||||
not restart acquire as it would confuse the internal state machine.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=57829
|
||||
---
|
||||
diff --git a/libfprint/imgdev.c b/libfprint/imgdev.c
|
||||
index 14e41ae..1ed3f6d 100644
|
||||
--- a/libfprint/imgdev.c
|
||||
+++ b/libfprint/imgdev.c
|
||||
@@ -145,7 +145,10 @@ void fpi_imgdev_report_finger_status(struct fp_img_dev *imgdev,
|
||||
case IMG_ACTION_ENROLL:
|
||||
fp_dbg("reporting enroll result");
|
||||
fpi_drvcb_enroll_stage_completed(imgdev->dev, r, data, img);
|
||||
- if (r > 0 && r != FP_ENROLL_COMPLETE && r != FP_ENROLL_FAIL) {
|
||||
+ /* the callback can cancel enrollment, so recheck current
|
||||
+ * action and the status to see if retry is needed */
|
||||
+ if (imgdev->action == IMG_ACTION_ENROLL &&
|
||||
+ 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);
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -1,52 +0,0 @@
|
||||
From 3b3679c900f6739f7067f8d720e15d548bb39be9 Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Sun, 13 Jan 2013 16:43:38 +0300
|
||||
Subject: [PATCH 5/6] upeke2: Add support for 147e:2020 ID
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=59320
|
||||
---
|
||||
libfprint/drivers/upeke2.c | 14 +++++++++++---
|
||||
1 files changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libfprint/drivers/upeke2.c b/libfprint/drivers/upeke2.c
|
||||
index ed8f43d..a7db54d 100644
|
||||
--- a/libfprint/drivers/upeke2.c
|
||||
+++ b/libfprint/drivers/upeke2.c
|
||||
@@ -46,6 +46,11 @@
|
||||
#define MSG_READ_BUF_SIZE 0x40
|
||||
#define MAX_DATA_IN_READ_BUF (MSG_READ_BUF_SIZE - 9)
|
||||
|
||||
+enum {
|
||||
+ UPEKE2_2016,
|
||||
+ UPEKE2_2020,
|
||||
+};
|
||||
+
|
||||
struct upeke2_dev {
|
||||
gboolean enroll_passed;
|
||||
gboolean first_verify_iteration;
|
||||
@@ -848,8 +853,10 @@ static struct fpi_ssm *deinitsm_new(struct fp_dev *dev)
|
||||
|
||||
static int discover(struct libusb_device_descriptor *dsc, uint32_t *devtype)
|
||||
{
|
||||
- /* Revision 2 is what we're interested in */
|
||||
- if (dsc->bcdDevice == 2)
|
||||
+ if (dsc->idProduct == 0x2016 && dsc->bcdDevice == 2)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (dsc->idProduct == 0x2020 && dsc->bcdDevice == 1)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
@@ -1453,7 +1460,8 @@ static int verify_stop(struct fp_dev *dev, gboolean iterating)
|
||||
}
|
||||
|
||||
static const struct usb_id id_table[] = {
|
||||
- { .vendor = 0x147e, .product = 0x2016 },
|
||||
+ { .vendor = 0x147e, .product = 0x2016, .driver_data = UPEKE2_2016 },
|
||||
+ { .vendor = 0x147e, .product = 0x2020, .driver_data = UPEKE2_2020 },
|
||||
{ 0, 0, 0, }, /* terminating entry */
|
||||
};
|
||||
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
-87
@@ -1,87 +0,0 @@
|
||||
From 7e1646c382bbd6dc21a167bf7f0e45afa5ea217e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
|
||||
Date: Tue, 4 Dec 2012 10:50:30 +0200
|
||||
Subject: [PATCH] uru4000: fix race condition on waiting power up irq
|
||||
|
||||
It can come before we finish reading the status register on some
|
||||
cases. Arm the irq handler early, and fix the state machine to
|
||||
handle early irq properly.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=57834
|
||||
---
|
||||
libfprint/drivers/uru4000.c | 31 ++++++++++++++++++++-----------
|
||||
1 file changed, 20 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/libfprint/drivers/uru4000.c b/libfprint/drivers/uru4000.c
|
||||
index 541245a..07e26a4 100644
|
||||
--- a/libfprint/drivers/uru4000.c
|
||||
+++ b/libfprint/drivers/uru4000.c
|
||||
@@ -994,16 +994,19 @@ static void init_scanpwr_irq_cb(struct fp_img_dev *dev, int status,
|
||||
uint16_t type, void *user_data)
|
||||
{
|
||||
struct fpi_ssm *ssm = user_data;
|
||||
+ struct uru4k_dev *urudev = dev->priv;
|
||||
|
||||
if (status)
|
||||
fpi_ssm_mark_aborted(ssm, status);
|
||||
else if (type != IRQDATA_SCANPWR_ON)
|
||||
fp_dbg("ignoring interrupt");
|
||||
- else if (ssm->cur_state != INIT_AWAIT_SCAN_POWER)
|
||||
- fp_err("ignoring scanpwr interrupt due to being in wrong state %d",
|
||||
- ssm->cur_state);
|
||||
- else
|
||||
+ else if (ssm->cur_state != INIT_AWAIT_SCAN_POWER) {
|
||||
+ fp_dbg("early scanpwr interrupt");
|
||||
+ urudev->scanpwr_irq_timeouts = -1;
|
||||
+ } else {
|
||||
+ fp_dbg("late scanpwr interrupt");
|
||||
fpi_ssm_next_state(ssm);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void init_scanpwr_timeout(void *user_data)
|
||||
@@ -1053,14 +1056,21 @@ static void init_run_state(struct fpi_ssm *ssm)
|
||||
fpi_ssm_next_state(ssm);
|
||||
break;
|
||||
case INIT_POWERUP: ;
|
||||
+ if (!IRQ_HANDLER_IS_RUNNING(urudev)) {
|
||||
+ fpi_ssm_mark_aborted(ssm, -EIO);
|
||||
+ break;
|
||||
+ }
|
||||
+ urudev->irq_cb_data = ssm;
|
||||
+ urudev->irq_cb = init_scanpwr_irq_cb;
|
||||
+
|
||||
struct fpi_ssm *powerupsm = fpi_ssm_new(dev->dev, powerup_run_state,
|
||||
POWERUP_NUM_STATES);
|
||||
powerupsm->priv = dev;
|
||||
fpi_ssm_start_subsm(ssm, powerupsm);
|
||||
break;
|
||||
case INIT_AWAIT_SCAN_POWER:
|
||||
- if (!IRQ_HANDLER_IS_RUNNING(urudev)) {
|
||||
- fpi_ssm_mark_aborted(ssm, -EIO);
|
||||
+ if (urudev->scanpwr_irq_timeouts < 0) {
|
||||
+ fpi_ssm_next_state(ssm);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1073,13 +1083,12 @@ static void init_run_state(struct fpi_ssm *ssm)
|
||||
fpi_ssm_mark_aborted(ssm, -ETIME);
|
||||
break;
|
||||
}
|
||||
-
|
||||
- urudev->irq_cb_data = ssm;
|
||||
- urudev->irq_cb = init_scanpwr_irq_cb;
|
||||
break;
|
||||
case INIT_DONE:
|
||||
- fpi_timeout_cancel(urudev->scanpwr_irq_timeout);
|
||||
- urudev->scanpwr_irq_timeout = NULL;
|
||||
+ if (urudev->scanpwr_irq_timeout) {
|
||||
+ fpi_timeout_cancel(urudev->scanpwr_irq_timeout);
|
||||
+ urudev->scanpwr_irq_timeout = NULL;
|
||||
+ }
|
||||
urudev->irq_cb_data = NULL;
|
||||
urudev->irq_cb = NULL;
|
||||
fpi_ssm_next_state(ssm);
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
From 8a87ba448c62eb14fa51d70ce870dd10b67ba76b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
|
||||
Date: Mon, 3 Dec 2012 09:51:27 +0200
|
||||
Subject: [PATCH] uru4000: fix cancelling of imaging from error callback
|
||||
|
||||
Call error callback before resetting img_transfer to NULL. This
|
||||
variable is internally used to detect if we are still in imaging
|
||||
loop and the call to execute_state_change() needs to be postponed.
|
||||
Since this is the final thing imaging_complete() we can't reset
|
||||
img_transfer until just before this call.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=57829
|
||||
---
|
||||
libfprint/drivers/uru4000.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libfprint/drivers/uru4000.c b/libfprint/drivers/uru4000.c
|
||||
index 07e26a4..ccaa87f 100644
|
||||
--- a/libfprint/drivers/uru4000.c
|
||||
+++ b/libfprint/drivers/uru4000.c
|
||||
@@ -789,15 +789,18 @@ static void imaging_complete(struct fpi_ssm *ssm)
|
||||
int r = ssm->error;
|
||||
fpi_ssm_free(ssm);
|
||||
|
||||
+ /* Report error before exiting imaging loop - the error handler
|
||||
+ * can request state change, which needs to be postponed to end of
|
||||
+ * this function. */
|
||||
+ if (r)
|
||||
+ fpi_imgdev_session_error(dev, r);
|
||||
+
|
||||
g_free(urudev->img_data);
|
||||
urudev->img_data = NULL;
|
||||
|
||||
libusb_free_transfer(urudev->img_transfer);
|
||||
urudev->img_transfer = NULL;
|
||||
|
||||
- if (r)
|
||||
- fpi_imgdev_session_error(dev, r);
|
||||
-
|
||||
r = execute_state_change(dev);
|
||||
if (r)
|
||||
fpi_imgdev_session_error(dev, r);
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@@ -7,7 +7,7 @@ Last-Update: 2012-06-26
|
||||
|
||||
--- a/libfprint/fprint-list-udev-rules.c
|
||||
+++ b/libfprint/fprint-list-udev-rules.c
|
||||
@@ -57,9 +57,6 @@
|
||||
@@ -59,9 +59,6 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ Last-Update: 2012-06-26
|
||||
key = g_strdup_printf ("%04x:%04x", driver->id_table[i].vendor, driver->id_table[i].product);
|
||||
|
||||
if (g_hash_table_lookup (printed, key) != NULL) {
|
||||
@@ -72,7 +69,10 @@
|
||||
@@ -74,7 +71,10 @@
|
||||
if (num_printed == 0)
|
||||
printf ("# %s\n", driver->full_name);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user