mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-11 02:28:05 +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
|
# 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
|
# Debian specifics
|
||||||
kFreeBSD_FTBFS_add_ETIME_definition.patch
|
kFreeBSD_FTBFS_add_ETIME_definition.patch
|
||||||
udev-rules-creation-add-Debian-specifics.patch
|
udev-rules-creation-add-Debian-specifics.patch
|
||||||
Fix-blacklist-handling-in-udev-rules-creation.patch
|
|
||||||
use-non-versionned-libusbh-path.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
|
--- a/libfprint/fprint-list-udev-rules.c
|
||||||
+++ b/libfprint/fprint-list-udev-rules.c
|
+++ b/libfprint/fprint-list-udev-rules.c
|
||||||
@@ -57,9 +57,6 @@
|
@@ -59,9 +59,6 @@
|
||||||
break;
|
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);
|
key = g_strdup_printf ("%04x:%04x", driver->id_table[i].vendor, driver->id_table[i].product);
|
||||||
|
|
||||||
if (g_hash_table_lookup (printed, key) != NULL) {
|
if (g_hash_table_lookup (printed, key) != NULL) {
|
||||||
@@ -72,7 +69,10 @@
|
@@ -74,7 +71,10 @@
|
||||||
if (num_printed == 0)
|
if (num_printed == 0)
|
||||||
printf ("# %s\n", driver->full_name);
|
printf ("# %s\n", driver->full_name);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user