From 576beb1ff5140e6d8a079e6a0e446fa063913786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 25 Nov 2020 18:12:11 +0100 Subject: [PATCH] debian/patches: Add support for new Synaptics devices IDs LP: #1905593 --- debian/patches/series | 2 ++ ...sing-reference-to-interrupt-transfer.patch | 32 +++++++++++++++++++ ...cs-add-support-to-pid-0xF9-0xFC-0xC2.patch | 25 +++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 debian/patches/synaptics-Fix-missing-reference-to-interrupt-transfer.patch create mode 100644 debian/patches/synaptics-add-support-to-pid-0xF9-0xFC-0xC2.patch diff --git a/debian/patches/series b/debian/patches/series index 70c0b350..8a674fbc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,3 +5,5 @@ aes3k-Fix-transfer-error-path-and-cancellable-lifetime.patch tests-Add-AES3500-test-case.patch usb-transfer-Work-around-libgusb-cancellation-issue.patch aes3k-Re-send-some-commands-for-each-capture.patch +synaptics-add-support-to-pid-0xF9-0xFC-0xC2.patch +synaptics-Fix-missing-reference-to-interrupt-transfer.patch diff --git a/debian/patches/synaptics-Fix-missing-reference-to-interrupt-transfer.patch b/debian/patches/synaptics-Fix-missing-reference-to-interrupt-transfer.patch new file mode 100644 index 00000000..05cf521f --- /dev/null +++ b/debian/patches/synaptics-Fix-missing-reference-to-interrupt-transfer.patch @@ -0,0 +1,32 @@ +From: Benjamin Berg +Date: Mon, 19 Oct 2020 16:59:28 +0200 +Subject: synaptics: Fix missing reference to interrupt transfer + +When resubmitting the interrupt transfer we need to add a new reference +as the submit function will steal it again. + +Origin: https://gitlab.freedesktop.org/libfprint/fprintd/-/commit/90a1abf2 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/1905593 +--- + libfprint/drivers/synaptics/synaptics.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c +index a3d2a51..ee56271 100644 +--- a/libfprint/drivers/synaptics/synaptics.c ++++ b/libfprint/drivers/synaptics/synaptics.c +@@ -202,7 +202,13 @@ cmd_interrupt_cb (FpiUsbTransfer *transfer, + if (transfer->buffer[0] & USB_ASYNC_MESSAGE_PENDING || error) + fpi_ssm_next_state (transfer->ssm); + else +- fpi_usb_transfer_submit (transfer, 1000, NULL, cmd_interrupt_cb, NULL); ++ { ++ fpi_usb_transfer_submit (fpi_usb_transfer_ref (transfer), ++ 1000, ++ NULL, ++ cmd_interrupt_cb, ++ NULL); ++ } + } + + static void diff --git a/debian/patches/synaptics-add-support-to-pid-0xF9-0xFC-0xC2.patch b/debian/patches/synaptics-add-support-to-pid-0xF9-0xFC-0xC2.patch new file mode 100644 index 00000000..97af3a6a --- /dev/null +++ b/debian/patches/synaptics-add-support-to-pid-0xF9-0xFC-0xC2.patch @@ -0,0 +1,25 @@ +From: Vincent Huang +Date: Thu, 15 Oct 2020 12:20:34 +0800 +Subject: synaptics: add support to pid 0xF9, 0xFC, 0xC2 + +Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/31319d9c6 + +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/1905593 +--- + libfprint/drivers/synaptics/synaptics.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/libfprint/drivers/synaptics/synaptics.c b/libfprint/drivers/synaptics/synaptics.c +index 9bbae99..a3d2a51 100644 +--- a/libfprint/drivers/synaptics/synaptics.c ++++ b/libfprint/drivers/synaptics/synaptics.c +@@ -31,6 +31,9 @@ static const FpIdEntry id_table[] = { + { .vid = SYNAPTICS_VENDOR_ID, .pid = 0xBD, }, + { .vid = SYNAPTICS_VENDOR_ID, .pid = 0xE9, }, + { .vid = SYNAPTICS_VENDOR_ID, .pid = 0xDF, }, ++ { .vid = SYNAPTICS_VENDOR_ID, .pid = 0xF9, }, ++ { .vid = SYNAPTICS_VENDOR_ID, .pid = 0xFC, }, ++ { .vid = SYNAPTICS_VENDOR_ID, .pid = 0xC2, }, + { .vid = 0, .pid = 0, .driver_data = 0 }, /* terminating entry */ + }; +