summaryrefslogtreecommitdiff
path: root/kernels
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2018-09-09 23:12:25 -0300
committerDavid P <megver83@parabola.nu>2018-09-09 23:51:39 -0300
commit9e25ad253ef4b16ec384c7fdb61d90df20bd196a (patch)
tree84bb08515ce062ca524b365f1b1f50b2025d8d0c /kernels
parent7d5ee57a76d622fa9c767000d6090709ad9740b3 (diff)
upgpkg: kernels/linux-libre-xtreme 4.18.6_gnu-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'kernels')
-rw-r--r--kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch4
-rw-r--r--kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch4
-rw-r--r--kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch81
-rw-r--r--kernels/linux-libre-xtreme/PKGBUILD26
-rw-r--r--kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch23
5 files changed, 99 insertions, 39 deletions
diff --git a/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch b/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
index c40f1002e..785150403 100644
--- a/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
+++ b/kernels/linux-libre-xtreme/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
@@ -1,7 +1,7 @@
-From 5dde1cf2f63a2e20ff411eac47fb5a53230642fe Mon Sep 17 00:00:00 2001
+From 7e7b8d7a0e74d0d4c74abee0334a771458a3ed79 Mon Sep 17 00:00:00 2001
From: Serge Hallyn <serge.hallyn@canonical.com>
Date: Fri, 31 May 2013 19:12:12 +0100
-Subject: [PATCH 1/2] add sysctl to disallow unprivileged CLONE_NEWUSER by
+Subject: [PATCH 1/3] add sysctl to disallow unprivileged CLONE_NEWUSER by
default
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
diff --git a/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch b/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch
index 06c514258..79860decc 100644
--- a/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch
+++ b/kernels/linux-libre-xtreme/0002-drm-i915-Increase-LSPCON-timeout.patch
@@ -1,7 +1,7 @@
-From 670aed8119f293b41b82195cf96fa78c86cc3d49 Mon Sep 17 00:00:00 2001
+From 01d91bc0dac1c22f60fb6d225dcacc7fa9ae2d56 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20Sch=C3=B6n?= <fredrikschon@gmail.com>
Date: Fri, 17 Aug 2018 22:07:28 +0200
-Subject: [PATCH 2/2] drm/i915: Increase LSPCON timeout
+Subject: [PATCH 2/3] drm/i915: Increase LSPCON timeout
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch b/kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch
new file mode 100644
index 000000000..da196890f
--- /dev/null
+++ b/kernels/linux-libre-xtreme/0003-HID-core-fix-grouping-by-application.patch
@@ -0,0 +1,81 @@
+From 20acb01da9443e3ca814bb5d17f01b3fea754010 Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Tue, 4 Sep 2018 15:31:14 +0200
+Subject: [PATCH 3/3] HID: core: fix grouping by application
+
+commit f07b3c1da92d ("HID: generic: create one input report per
+application type") was effectively the same as MULTI_INPUT:
+hidinput->report was never set, so hidinput_match_application()
+always returned null.
+
+Fix that by testing against the real application.
+
+Note that this breaks some old eGalax touchscreens that expect MULTI_INPUT
+instead of HID_QUIRK_INPUT_PER_APP. Enable this quirk for backward
+compatibility on all non-Win8 touchscreens.
+
+link: https://bugzilla.kernel.org/show_bug.cgi?id=200847
+link: https://bugzilla.kernel.org/show_bug.cgi?id=200849
+link: https://bugs.archlinux.org/task/59699
+link: https://github.com/NixOS/nixpkgs/issues/45165
+
+Cc: stable@vger.kernel.org # v4.18+
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+---
+ drivers/hid/hid-input.c | 4 ++--
+ drivers/hid/hid-multitouch.c | 3 +++
+ include/linux/hid.h | 1 +
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
+index ab93dd5927c3..a137d2835f32 100644
+--- a/drivers/hid/hid-input.c
++++ b/drivers/hid/hid-input.c
+@@ -1579,6 +1579,7 @@ static struct hid_input *hidinput_allocate(struct hid_device *hid,
+ input_dev->dev.parent = &hid->dev;
+
+ hidinput->input = input_dev;
++ hidinput->application = application;
+ list_add_tail(&hidinput->list, &hid->inputs);
+
+ INIT_LIST_HEAD(&hidinput->reports);
+@@ -1674,8 +1675,7 @@ static struct hid_input *hidinput_match_application(struct hid_report *report)
+ struct hid_input *hidinput;
+
+ list_for_each_entry(hidinput, &hid->inputs, list) {
+- if (hidinput->report &&
+- hidinput->report->application == report->application)
++ if (hidinput->application == report->application)
+ return hidinput;
+ }
+
+diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
+index 45968f7970f8..1a987345692a 100644
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -1476,6 +1476,9 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
+ */
+ hdev->quirks |= HID_QUIRK_INPUT_PER_APP;
+
++ if (id->group != HID_GROUP_MULTITOUCH_WIN_8)
++ hdev->quirks |= HID_QUIRK_MULTI_INPUT;
++
+ timer_setup(&td->release_timer, mt_expired_timeout, 0);
+
+ ret = hid_parse(hdev);
+diff --git a/include/linux/hid.h b/include/linux/hid.h
+index 773bcb1d4044..5482dd6ae9ef 100644
+--- a/include/linux/hid.h
++++ b/include/linux/hid.h
+@@ -520,6 +520,7 @@ struct hid_input {
+ const char *name;
+ bool registered;
+ struct list_head reports; /* the list of reports */
++ unsigned int application; /* application usage for this input */
+ };
+
+ enum hid_type {
+--
+2.18.0
+
diff --git a/kernels/linux-libre-xtreme/PKGBUILD b/kernels/linux-libre-xtreme/PKGBUILD
index 9f8103cc2..911c55ab6 100644
--- a/kernels/linux-libre-xtreme/PKGBUILD
+++ b/kernels/linux-libre-xtreme/PKGBUILD
@@ -11,7 +11,7 @@
pkgbase=linux-libre-xtreme
_srcbasever=4.18-gnu
-_srcver=4.18.5-gnu
+_srcver=4.18.6-gnu
_hardenedver=a
_replacesarchkernel=('linux%') # '%' gets replaced with _kernelname
@@ -22,7 +22,7 @@ _srcname=linux-${_srcbasever%-*}
_archpkgver=${_srcver%-*}
pkgver=${_srcver//-/_}
pkgrel=1
-rcnrel=armv7-x5
+rcnrel=armv7-x6
arch=(i686 x86_64 armv7h)
url="https://wiki.parabola.nu/Xtreme"
license=(GPL2)
@@ -62,7 +62,7 @@ source=(
'0002-fix-Atmel-maXTouch-touchscreen-support.patch'
'0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch'
'0002-drm-i915-Increase-LSPCON-timeout.patch'
- 'increase-timeout-in-lspcon_wait_mode.patch'
+ '0003-HID-core-fix-grouping-by-application.patch'
)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
@@ -72,9 +72,9 @@ validpgpkeys=(
)
sha512sums=('0c221c6e84eb5bc270ef79454bf407079daed84534afb1d449d40fa46e42868a471d3063016a4eb3f68d42879e18ee314ab30716116805fee35b5084b23df2a9'
'SKIP'
- '4185dde406aafd020a0c7ab5cadff02a6f92812b5e7616c39b85051af23adc6bb0927f75bcc5213f9df8d34d0e7deb7c930844565318dd771b6695763deef174'
+ '783c7d8dbcda5a6f6b4ab2e6396b7d7f7ece19a0dafc3c72d429d072bfef0849cb33157cc9edbdcc5c696b37e985e6ec18a23074fd259c9280049894cc996ffc'
'SKIP'
- 'f1dddfb63c5fe1235f0b5c19947919a1d804ef52f57939921e571bed07f2281ecf68dd4a17ce7dc88ada78b1ad4d36171f9092765141f5909adaaefd3bf5fed8'
+ 'a09febafcde0e2e05a6c1bce81022489ab54bab3b95f2bb0ff0fe58683816ac439ec72f3eca4cee05c613dd5606942b550c6898ceb101af28700fcc731288c8a'
'SKIP'
'13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
'SKIP'
@@ -82,9 +82,9 @@ sha512sums=('0c221c6e84eb5bc270ef79454bf407079daed84534afb1d449d40fa46e42868a471
'SKIP'
'7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78'
'SKIP'
- 'b0533d333e6e4cc3bc83daf6bd7fc21b530597fff392a642616d788f8ebf74e23e0943633948a30f519c205e0a83ec2cd80be5c1c1489f8a375f7d65ba6b21cb'
- 'a35c95f7fe245c44e175efb2fc8d3a8596c859a189e636f324795ba733b2f8faabe909a9e030cbb39134284ad8465faa66d5addce43898c54bf08f138560074b'
- 'b084f3aad1330edd9e41f2b4e4d193112d5c7ce9c795db4ad76e9a832fb9db147a46aec8a91b759365f4c1c363d740cebc0932d0596e93d8b0fef431eb7d43d2'
+ 'ee37f8e805b907c3d35e3d928599995ec78da86863c3ce204cb5b5bf439fc7f858fa7c7119202a4b305e664d0f09823be756d12b48e7dc8fa3ac0bd6bc901402'
+ 'cd7ca8f89ae78b08f03f6fb4145aad5e24122f094d0dd6bdfa9e324e456f928a8c9df49c9b162e127190ac6fcd4a9f7c582df91b194b46bedf8dd84cf47bab5e'
+ '5b81fecfc24b2a74b26043b005700493b6338ebc517a6a42112eba317bcf2c21bf2c902612a25f7750504444258a71402933a889aafe5497b1a1a8911b230a8b'
'7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a'
'4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44'
'2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
@@ -106,9 +106,9 @@ sha512sums=('0c221c6e84eb5bc270ef79454bf407079daed84534afb1d449d40fa46e42868a471
'073c48fea2989334451b9020e8151c0385b07affcb2bc5f778fd5f9d2d8182e40dcd04edde4d53648c1ed8cea4721afc04267a72e429be3612d2f77f5d0fd459'
'02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
- '8ed3859b495f88287222bd87927fad795b409541c113784bea933099d10bb62bbf24dd7f847dd47f8742d83d7143d9a0d04642528c2c1d41ef7e0ffde3d4a0b3'
- 'f97ec2ad3d919c1a59211dab61be6701e3ebd5647afc725c32365bc083272d770c0ad8be5bf8b43b32905d2d107da822bd1013668a5cf75ec51770e151e4f5f8'
- '0555e6099878dabd835284c173a0d3f98d72b37168cc7a5938db5d3639592d8a7b59ab2914f9922dfcd6d678a6bf713a07402dab1c7008182174b7e0ad0a45b6')
+ 'd7e50acea0a21dc4c65d0ac093192e02ed995a6110f714b1f8a3c60c44a4d4da09ffbf90bcf20ce2e285b4f58f3972957e30b26c57e233c483ce049177fdfb13'
+ '15254ce2163c296f4823b3cfea31f68d4d9f0da3cc8c1aff7ec8d6d957fb1f437b39c4b7737056ba86d2405a8a5fd407bd7c2ff6d273089499daac0630b2bf0e'
+ '559fe854b46bcb4967d01f97dcc98c9c5ea52a3a3fa70ea6b19d78f0c5b19598d058a82e33006b7b6afd54cf7e073c8622d4a59eac24151685b5ec20dad1eace')
_kernelname=${pkgbase#linux-libre}
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}")
@@ -161,11 +161,13 @@ prepare() {
patch -p1 -i ../linux-hardened-${_srcver%-*}.${_hardenedver}.patch
# Arch's linux-hardened patches
- patch -p1 -i ../increase-timeout-in-lspcon_wait_mode.patch
+ patch -p1 -i ../0002-drm-i915-Increase-LSPCON-timeout.patch
+ patch -p1 -i ../0003-HID-core-fix-grouping-by-application.patch
else
# Arch's linux patches
patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
patch -p1 -i ../0002-drm-i915-Increase-LSPCON-timeout.patch
+ patch -p1 -i ../0003-HID-core-fix-grouping-by-application.patch
fi
# maintain the TTY over USB disconnects
diff --git a/kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch b/kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch
deleted file mode 100644
index b94872afe..000000000
--- a/kernels/linux-libre-xtreme/increase-timeout-in-lspcon_wait_mode.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f9199cfdc7f09601adbb40827077991a1f6bd73a Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 13 Aug 2018 00:40:29 +0200
-Subject: [PATCH] Increase timeout in lspcon_wait_mode
-
-From https://bugs.freedesktop.org/attachment.cgi?id=141051&action=edit
----
- drivers/gpu/drm/i915/intel_lspcon.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c
-index 8ae8f42f430a1..be1b08f589a46 100644
---- a/drivers/gpu/drm/i915/intel_lspcon.c
-+++ b/drivers/gpu/drm/i915/intel_lspcon.c
-@@ -74,7 +74,7 @@ static enum drm_lspcon_mode lspcon_wait_mode(struct intel_lspcon *lspcon,
- DRM_DEBUG_KMS("Waiting for LSPCON mode %s to settle\n",
- lspcon_mode_name(mode));
-
-- wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 100);
-+ wait_for((current_mode = lspcon_get_current_mode(lspcon)) == mode, 1000);
- if (current_mode != mode)
- DRM_ERROR("LSPCON mode hasn't settled\n");
-