From ad8e4849ab5b2250a71f2696ffce4c9cefe258a4 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Fri, 9 May 2014 11:59:48 +0200 Subject: [PATCH] Update linux-drd to 3.14.2 --- .../0011-kernfs-fix-removed-error-check.patch | 13 ++++ linux-drd/0012-fix-saa7134.patch | 37 ++++++++++ ...rect-mac_len-in-skb_network_protocol.patch | 13 ++++ linux-drd/0014-fix-rtl8192se.patch | 15 ++++ linux-drd/0015-fix-xsdt-validation.patch | 42 ++++++++++++ linux-drd/PKGBUILD | 68 ++++++++++++++----- 6 files changed, 171 insertions(+), 17 deletions(-) create mode 100644 linux-drd/0011-kernfs-fix-removed-error-check.patch create mode 100644 linux-drd/0012-fix-saa7134.patch create mode 100644 linux-drd/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch create mode 100644 linux-drd/0014-fix-rtl8192se.patch create mode 100644 linux-drd/0015-fix-xsdt-validation.patch diff --git a/linux-drd/0011-kernfs-fix-removed-error-check.patch b/linux-drd/0011-kernfs-fix-removed-error-check.patch new file mode 100644 index 0000000..b597595 --- /dev/null +++ b/linux-drd/0011-kernfs-fix-removed-error-check.patch @@ -0,0 +1,13 @@ +diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c +index 8034706..e01ea4a 100644 +--- a/fs/kernfs/file.c ++++ b/fs/kernfs/file.c +@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) + + ops = kernfs_ops(of->kn); + rc = ops->mmap(of, vma); ++ if (rc) ++ goto out_put; + + /* + * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() diff --git a/linux-drd/0012-fix-saa7134.patch b/linux-drd/0012-fix-saa7134.patch new file mode 100644 index 0000000..070fbc8 --- /dev/null +++ b/linux-drd/0012-fix-saa7134.patch @@ -0,0 +1,37 @@ +--- a/drivers/media/pci/saa7134/saa7134-video.c ++++ a/drivers/media/pci/saa7134/saa7134-video.c +@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) + videobuf_streamoff(&dev->cap); + res_free(dev, fh, RESOURCE_VIDEO); + videobuf_mmap_free(&dev->cap); ++ INIT_LIST_HEAD(&dev->cap.stream); + } + if (dev->cap.read_buf) { + buffer_release(&dev->cap, dev->cap.read_buf); +@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) + videobuf_stop(&dev->vbi); + res_free(dev, fh, RESOURCE_VBI); + videobuf_mmap_free(&dev->vbi); ++ INIT_LIST_HEAD(&dev->vbi.stream); + } + + /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ +@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, + enum v4l2_buf_type type) + { + struct saa7134_dev *dev = video_drvdata(file); +- int err; + int res = saa7134_resource(file); + + if (res != RESOURCE_EMPRESS) + pm_qos_remove_request(&dev->qos_request); + +- err = videobuf_streamoff(saa7134_queue(file)); +- if (err < 0) +- return err; +- res_free(dev, priv, res); +- return 0; ++ return videobuf_streamoff(saa7134_queue(file)); + } + EXPORT_SYMBOL_GPL(saa7134_streamoff); + diff --git a/linux-drd/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/linux-drd/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch new file mode 100644 index 0000000..2840f19 --- /dev/null +++ b/linux-drd/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch @@ -0,0 +1,13 @@ +diff --git a/net/core/dev.c b/net/core/dev.c +index 45fa2f1..6088927 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); + __be16 skb_network_protocol(struct sk_buff *skb, int *depth) + { + __be16 type = skb->protocol; +- int vlan_depth = ETH_HLEN; ++ int vlan_depth = skb->mac_len; + + /* Tunnel gso handlers can set protocol to ethernet. */ + if (type == htons(ETH_P_TEB)) { diff --git a/linux-drd/0014-fix-rtl8192se.patch b/linux-drd/0014-fix-rtl8192se.patch new file mode 100644 index 0000000..512e281 --- /dev/null +++ b/linux-drd/0014-fix-rtl8192se.patch @@ -0,0 +1,15 @@ +--- linux-2.6/drivers/net/wireless/rtlwifi/rtl8192se/trx.c ++++ linux-2.6/drivers/net/wireless/rtlwifi/rtl8192se/trx.c +@@ -49,6 +49,12 @@ static u8 _rtl92se_map_hwqueue_to_fwqueu + if (ieee80211_is_nullfunc(fc)) + return QSLT_HIGH; + ++ /* Kernel commit 1bf4bbb4024dcdab changed EAPOL packets to use ++ * queue V0 at priority 7; however, the RTL8192SE appears to have ++ * that queue at priority 6 ++ */ ++ if (skb->priority == 7) ++ return QSLT_VO; + return skb->priority; + } + diff --git a/linux-drd/0015-fix-xsdt-validation.patch b/linux-drd/0015-fix-xsdt-validation.patch new file mode 100644 index 0000000..82dd2be --- /dev/null +++ b/linux-drd/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + diff --git a/linux-drd/PKGBUILD b/linux-drd/PKGBUILD index c101bea..39c01d6 100644 --- a/linux-drd/PKGBUILD +++ b/linux-drd/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 210560 2014-04-14 22:14:36Z thomas $ +# $Id: PKGBUILD 211930 2014-05-01 09:04:29Z thomas $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # pkgbase=linux # Build stock -ARCH kernel pkgbase=linux-drd # Build kernel with a different name _srcname=linux-3.14 -pkgver=3.14.1 +pkgver=3.14.2 pkgrel=1 arch=('i686' 'x86_64') url="http://www.kernel.org/" @@ -27,24 +27,34 @@ source=("https://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz" '0006-genksyms-fix-typeof-handling.patch' '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' + '0011-kernfs-fix-removed-error-check.patch' + '0012-fix-saa7134.patch' + '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' + '0014-fix-rtl8192se.patch' + '0015-fix-xsdt-validation.patch' 'aufs3-standalone::git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs3.14' # 'aufs3-mmap.patch' ) -sha256sums=('61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa' - 'ac56f0bff3c6ec436161f2702c7269b933e22bae0488ed709ab29e4aeb78be45' - 'f2131f0f5a20a6cc65a987cf5363d08c343041c859686ceb4bb93d2d2a3d6b34' - '2c8865da681269ba25f65d1750b31a8ec8155c0c25c6e0f8a8ad870e85ef9969' - 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' - 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' - '6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02' - '52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29' - '65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d' - '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1' - '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec' - 'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7' - 'a98bc3836bcf85774a974a1585e6b64432ba8c42363ee484d14515ccd6a88e24' - 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85' - 'SKIP') +md5sums=('b621207b3f6ecbb67db18b13258f8ea8' + 'f2239bf772d1b6e1c26cb03f6e056959' + '60dfde99c784dda18b5d95e605df7a83' + '6c270275e7c91dd5c323ea7df4930835' + 'eb14dcfd80c00852ef81ded6e826826a' + '98beb36f9b8cf16e58de2483ea9985e3' + '6839ddec74a5300beff1709a81b0e4f3' + '706549e8a05f33f7fc697f28c0ca71d2' + 'd23fc66be93ebce698bd7da844789de1' + 'b240cc8ebb4b5d74e94b4c72d033f726' + 'a89d593774ccb955eb8368d3bc87ce26' + '16a161979f846b049e90daea907c35dd' + '00727251b0d337a25d3ca392218afdf4' + '353b553d69da810ef954618aca60e1e2' + 'b3f98eba6322463ed6644784c56893be' + '4f547d79fa1b2bb855dc2996be2a515e' + '21d25aef69f9da33c6087b7ffd97783e' + 'de37a66f5ebcccbc13208515ccc081cb' + '278417ab07b6f5fe8e3e0ed656f35f3e' + 'SKIP') _kernelname=${pkgbase#linux} @@ -91,6 +101,30 @@ prepare() { # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" + # fix Xorg crash with i810 chipset due to wrong removed error check + # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com + patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch" + + # fix saa7134 video + # https://bugs.archlinux.org/task/39904 + # https://bugzilla.kernel.org/show_bug.cgi?id=73361 + patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch" + + # fix tun/openvpn performance + # https://bugs.archlinux.org/task/40089 + # https://bugzilla.kernel.org/show_bug.cgi?id=74051 + patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch" + + # fix rtl8192se authentification + # https://bugs.archlinux.org/task/39858 + # https://bugzilla.kernel.org/show_bug.cgi?id=74541 + patch -Np1 -i "${srcdir}/0014-fix-rtl8192se.patch" + + # fix xsdt validation bug + # https://bugs.archlinux.org/task/39811 + # https://bugzilla.kernel.org/show_bug.cgi?id=73911 + patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch" + ## aufs3 patch -p1 -i "${srcdir}/aufs3-standalone/aufs3-kbuild.patch" patch -p1 -i "${srcdir}/aufs3-standalone/aufs3-base.patch"