Update patches list for 0.5.1, drop 6 patches incorporated or backported from upstream, refresh one

This commit is contained in:
Didier Raboud
2013-09-29 13:34:09 +02:00
parent 034597a598
commit 30322db108
8 changed files with 2 additions and 267 deletions
@@ -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
View File
@@ -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
-6
View File
@@ -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
@@ -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
@@ -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
@@ -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);