From: Matthias Schiffer Date: Thu, 9 Aug 2018 18:25:38 +0000 (+0200) Subject: kernel: bump kernel 4.4 to version 4.4.147 X-Git-Tag: v17.01.6~39 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=91d209362b97fc1ff2ab931fe854c99f5a5aae73;p=openwrt%2Fopenwrt.git kernel: bump kernel 4.4 to version 4.4.147 target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch has been applied upstream; the two deleted brcm2708 patches have been useless even before (as the second one only reverted the first one). Signed-off-by: Matthias Schiffer --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 39d17efae5..b1e39c951e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,10 +3,10 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 -LINUX_VERSION-4.4 = .140 +LINUX_VERSION-4.4 = .147 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c -LINUX_KERNEL_HASH-4.4.140 = 184c8f3cde0caca0d2a15ee2b6ce47e3a5b57038bc15a65e631d6b340886c7bb +LINUX_KERNEL_HASH-4.4.147 = c734e599bfd54e6f8cca95775300757c2d1645f17095c5bcd528e2d23a8dac1a ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch b/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch index 324c695d05..2b4452b7de 100644 --- a/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch +++ b/target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch @@ -248,7 +248,7 @@ Signed-off-by: Herbert Xu return 0; err_start_dev: -@@ -1248,6 +1250,8 @@ static int crypto4xx_remove(struct platf +@@ -1247,6 +1249,8 @@ static int crypto4xx_remove(struct platf struct device *dev = &ofdev->dev; struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev); @@ -257,7 +257,7 @@ Signed-off-by: Herbert Xu free_irq(core_dev->irq, dev); irq_dispose_mapping(core_dev->irq); -@@ -1268,7 +1272,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match) +@@ -1267,7 +1271,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match) static struct platform_driver crypto4xx_driver = { .driver = { @@ -266,7 +266,7 @@ Signed-off-by: Herbert Xu .of_match_table = crypto4xx_match, }, .probe = crypto4xx_probe, -@@ -1280,4 +1284,3 @@ module_platform_driver(crypto4xx_driver) +@@ -1279,4 +1283,3 @@ module_platform_driver(crypto4xx_driver) MODULE_LICENSE("GPL"); MODULE_AUTHOR("James Hsiao "); MODULE_DESCRIPTION("Driver for AMCC PPC4xx crypto accelerator"); diff --git a/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch b/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch index 8e1d4d2c9d..d5eda621ea 100644 --- a/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch +++ b/target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch @@ -47,7 +47,7 @@ Signed-off-by: Jacek Anaszewski #include #include -@@ -4942,6 +4943,9 @@ void ata_qc_complete(struct ata_queued_c +@@ -4945,6 +4946,9 @@ void ata_qc_complete(struct ata_queued_c { struct ata_port *ap = qc->ap; diff --git a/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch index ee56eb34eb..5c6c4e3ea2 100644 --- a/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -44,7 +44,7 @@ produce a noisy warning. /* hcd->irq is 0, we have MSI */ --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1652,6 +1652,7 @@ struct xhci_hcd { +@@ -1656,6 +1656,7 @@ struct xhci_hcd { /* support xHCI 0.96 spec USB2 software LPM */ unsigned sw_lpm_support:1; /* support xHCI 1.0 spec USB2 hardware LPM */ diff --git a/target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch b/target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch deleted file mode 100644 index 64fb545b24..0000000000 --- a/target/linux/ar71xx/patches-4.4/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Felix Fietkau -Date: Wed, 18 May 2016 18:03:31 +0200 -Subject: [PATCH] MIPS: ath79: fix register address in ath79_ddr_wb_flush() - -ath79_ddr_wb_flush_base has the type void __iomem *, so register offsets -need to be a multiple of 4. - -Cc: Alban Bedel -Fixes: 24b0e3e84fbf ("MIPS: ath79: Improve the DDR controller interface") -Signed-off-by: Felix Fietkau ---- - ---- a/arch/mips/ath79/common.c -+++ b/arch/mips/ath79/common.c -@@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init); - - void ath79_ddr_wb_flush(u32 reg) - { -- void __iomem *flush_reg = ath79_ddr_wb_flush_base + reg; -+ void __iomem *flush_reg = ath79_ddr_wb_flush_base + reg * 4; - - /* Flush the DDR write buffer. */ - __raw_writel(0x1, flush_reg); diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch index bbfe7bd803..f766850aeb 100644 --- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch @@ -250,7 +250,7 @@ &sin->sin6_addr); sin->sin6_scope_id = 0; } -@@ -770,12 +770,12 @@ int ip6_datagram_send_ctl(struct net *ne +@@ -773,12 +773,12 @@ int ip6_datagram_send_ctl(struct net *ne } if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { @@ -370,7 +370,7 @@ return neigh_create(&arp_tbl, pkey, dev); --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -451,48 +451,53 @@ static void tcp_options_write(__be32 *pt +@@ -456,48 +456,53 @@ static void tcp_options_write(__be32 *pt u16 options = opts->options; /* mungable copy */ if (unlikely(OPTION_MD5 & options)) { @@ -447,7 +447,7 @@ } if (unlikely(opts->num_sack_blocks)) { -@@ -500,16 +505,17 @@ static void tcp_options_write(__be32 *pt +@@ -505,16 +510,17 @@ static void tcp_options_write(__be32 *pt tp->duplicate_sack : tp->selective_acks; int this_sack; @@ -471,7 +471,7 @@ } tp->rx_opt.dsack = 0; -@@ -522,13 +528,14 @@ static void tcp_options_write(__be32 *pt +@@ -527,13 +533,14 @@ static void tcp_options_write(__be32 *pt if (foc->exp) { len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len; @@ -838,7 +838,7 @@ --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3822,14 +3822,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -3836,14 +3836,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index f5a7f37a49..4f41c35eee 100644 --- a/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -127,7 +127,7 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1635,6 +1635,7 @@ struct xhci_hcd { +@@ -1639,6 +1639,7 @@ struct xhci_hcd { #define XHCI_BROKEN_STREAMS (1 << 19) #define XHCI_PME_STUCK_QUIRK (1 << 20) #define XHCI_MISSING_CAS (1 << 24) diff --git a/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch b/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch index 636e63eb29..2c0d590f57 100644 --- a/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch +++ b/target/linux/bcm53xx/patches-4.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch @@ -25,7 +25,7 @@ Signed-off-by: Rafał Miłecki /** * add_to_list - add physical eraseblock to a list. * @ai: attaching information -@@ -1425,6 +1428,8 @@ int ubi_attach(struct ubi_device *ubi, i +@@ -1496,6 +1499,8 @@ int ubi_attach(struct ubi_device *ubi, i if (!ai) return -ENOMEM; @@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki return UBI_IO_BAD_HDR_EBADMSG; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -783,6 +783,7 @@ extern struct mutex ubi_devices_mutex; +@@ -789,6 +789,7 @@ extern struct mutex ubi_devices_mutex; extern struct blocking_notifier_head ubi_notifiers; /* attach.c */ diff --git a/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch index 965a050542..83c5453a0b 100644 --- a/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch @@ -659,7 +659,7 @@ dwc_otg: Remove duplicate gadget probe/unregister function } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -4997,7 +4997,7 @@ static void port_event(struct usb_hub *h +@@ -5005,7 +5005,7 @@ static void port_event(struct usb_hub *h if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; diff --git a/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch b/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch index ce125d4b2f..9b3a5e748f 100644 --- a/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch +++ b/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch @@ -49,7 +49,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c -@@ -347,7 +347,7 @@ int __init sanitize_e820_map(struct e820 +@@ -348,7 +348,7 @@ int __init sanitize_e820_map(struct e820 * continue building up new bios map based on this * information */ diff --git a/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch b/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch deleted file mode 100644 index c3b5adc7c4..0000000000 --- a/target/linux/brcm2708/patches-4.4/0551-kbuild-add-fno-PIE.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d7c87b54cdabe76c12f2bb527f2a6b02b6255a0f Mon Sep 17 00:00:00 2001 -From: Sebastian Andrzej Siewior -Date: Fri, 4 Nov 2016 19:39:38 +0100 -Subject: [PATCH] kbuild: add -fno-PIE -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -commit 8ae94224c9d72fc4d9aaac93b2d7833cf46d7141 upstream. - -Debian started to build the gcc with -fPIE by default so the kernel -build ends before it starts properly with: -|kernel/bounds.c:1:0: error: code model kernel does not support PIC mode - -Also add to KBUILD_AFLAGS due to: - -|gcc -Wp,-MD,arch/x86/entry/vdso/vdso32/.note.o.d … -mfentry -DCC_USING_FENTRY … vdso/vdso32/note.S -|arch/x86/entry/vdso/vdso32/note.S:1:0: sorry, unimplemented: -mfentry isn’t supported for 32-bit in combination with -fpic - -Tagging it stable so it is possible to compile recent stable kernels as -well. - -Signed-off-by: Sebastian Andrzej Siewior -Signed-off-by: Michal Marek -Signed-off-by: Greg Kroah-Hartman ---- - Makefile | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/Makefile -+++ b/Makefile -@@ -624,6 +624,8 @@ KBUILD_CFLAGS += $(call cc-disable-warni - KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation) - KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow) - KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) -+KBUILD_CFLAGS += $(call cc-option,-fno-PIE) -+KBUILD_AFLAGS += $(call cc-option,-fno-PIE) - - ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE - KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION) diff --git a/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch b/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch deleted file mode 100644 index de20f9e8c4..0000000000 --- a/target/linux/brcm2708/patches-4.4/0552-kbuild-Steal-gcc-s-pie-from-the-very-beginning.patch +++ /dev/null @@ -1,49 +0,0 @@ -From e1c194ad704d298d6914e5b1efc4afee41a18a4c Mon Sep 17 00:00:00 2001 -From: Borislav Petkov -Date: Mon, 14 Nov 2016 19:41:31 +0100 -Subject: [PATCH] kbuild: Steal gcc's pie from the very beginning - -commit c6a385539175ebc603da53aafb7753d39089f32e upstream. - -So Sebastian turned off the PIE for kernel builds but that was too late -- Kbuild.include already uses KBUILD_CFLAGS and trying to disable gcc -options with, say cc-disable-warning, fails: - - gcc -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs - ... - -Wno-sign-compare -fno-asynchronous-unwind-tables -Wframe-address -c -x c /dev/null -o .31392.tmp - /dev/null:1:0: error: code model kernel does not support PIC mode - -because that returns an error and we can't disable the warning. For -example in this case: - -KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,) - -which leads to gcc issuing all those warnings again. - -So let's turn off PIE/PIC at the earliest possible moment, when we -declare KBUILD_CFLAGS so that cc-disable-warning picks it up too. - -Also, we need the $(call cc-option ...) because -fno-PIE is supported -since gcc v3.4 and our lowest supported gcc version is 3.2 right now. - -Signed-off-by: Borislav Petkov -Cc: Ben Hutchings -Cc: Sebastian Andrzej Siewior -Signed-off-by: Michal Marek -Signed-off-by: Greg Kroah-Hartman ---- - Makefile | 2 -- - 1 file changed, 2 deletions(-) - ---- a/Makefile -+++ b/Makefile -@@ -624,8 +624,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni - KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation) - KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow) - KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) --KBUILD_CFLAGS += $(call cc-option,-fno-PIE) --KBUILD_AFLAGS += $(call cc-option,-fno-PIE) - - ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE - KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION) diff --git a/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch b/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch index db3fc5bc3a..c2742e33d7 100644 --- a/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch +++ b/target/linux/brcm63xx/patches-4.4/376-net-bcm63xx_enet-use-named-gpio-for-ephy-reset-gpio.patch @@ -18,7 +18,7 @@ Allow using a named optional gpio for ephy reset gpio registration. #include #include "bcm63xx_enet.h" -@@ -2851,10 +2852,15 @@ static int bcm_enet_shared_probe(struct +@@ -2867,10 +2868,15 @@ static int bcm_enet_shared_probe(struct { struct resource *res; void __iomem *p[3]; @@ -34,7 +34,7 @@ Allow using a named optional gpio for ephy reset gpio registration. for (i = 0; i < 3; i++) { res = platform_get_resource(pdev, IORESOURCE_MEM, i); p[i] = devm_ioremap_resource(&pdev->dev, res); -@@ -2864,6 +2870,9 @@ static int bcm_enet_shared_probe(struct +@@ -2880,6 +2886,9 @@ static int bcm_enet_shared_probe(struct memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base)); diff --git a/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch b/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch index dc9e3c1344..22c2eeedfe 100644 --- a/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch +++ b/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch @@ -8,7 +8,7 @@ Signed-off-by: Jonas Gorski --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -2857,7 +2857,7 @@ static int bcm_enet_shared_probe(struct +@@ -2873,7 +2873,7 @@ static int bcm_enet_shared_probe(struct memset(bcm_enet_shared_base, 0, sizeof(bcm_enet_shared_base)); @@ -17,7 +17,7 @@ Signed-off-by: Jonas Gorski if (IS_ERR(ephy_reset)) return PTR_ERR(ephy_reset); -@@ -2871,7 +2871,7 @@ static int bcm_enet_shared_probe(struct +@@ -2887,7 +2887,7 @@ static int bcm_enet_shared_probe(struct memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base)); if (ephy_reset) diff --git a/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch b/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch index 8cb8099e97..fc2e8ab7a7 100644 --- a/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch +++ b/target/linux/brcm63xx/patches-4.4/402_bcm63xx_enet_vlan_incoming_fixed.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -1632,7 +1632,7 @@ static int compute_hw_mtu(struct bcm_ene +@@ -1633,7 +1633,7 @@ static int compute_hw_mtu(struct bcm_ene actual_mtu = mtu; /* add ethernet header + vlan tag size */ diff --git a/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch b/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch index a1acd614af..3b4ff60727 100644 --- a/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch +++ b/target/linux/brcm63xx/patches-4.4/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch @@ -77,7 +77,7 @@ Signed-off-by: Jonas Gorski ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, 0, dev->name, dev); -@@ -1128,9 +1096,6 @@ out_freeirq_rx: +@@ -1129,9 +1097,6 @@ out_freeirq_rx: out_freeirq: free_irq(dev->irq, dev); @@ -87,7 +87,7 @@ Signed-off-by: Jonas Gorski return ret; } -@@ -1235,12 +1200,6 @@ static int bcm_enet_stop(struct net_devi +@@ -1236,12 +1201,6 @@ static int bcm_enet_stop(struct net_devi free_irq(priv->irq_rx, dev); free_irq(dev->irq, dev); @@ -100,7 +100,7 @@ Signed-off-by: Jonas Gorski return 0; } -@@ -1830,6 +1789,8 @@ static int bcm_enet_probe(struct platfor +@@ -1835,6 +1794,8 @@ static int bcm_enet_probe(struct platfor /* MII bus registration */ if (priv->has_phy) { @@ -109,7 +109,7 @@ Signed-off-by: Jonas Gorski priv->mii_bus = mdiobus_alloc(); if (!priv->mii_bus) { -@@ -1867,6 +1828,38 @@ static int bcm_enet_probe(struct platfor +@@ -1872,6 +1833,38 @@ static int bcm_enet_probe(struct platfor dev_err(&pdev->dev, "unable to register mdio bus\n"); goto out_free_mdio; } @@ -148,7 +148,7 @@ Signed-off-by: Jonas Gorski } else { /* run platform code to initialize PHY device */ -@@ -1912,6 +1905,9 @@ static int bcm_enet_probe(struct platfor +@@ -1917,6 +1910,9 @@ static int bcm_enet_probe(struct platfor return 0; out_unregister_mdio: @@ -158,7 +158,7 @@ Signed-off-by: Jonas Gorski if (priv->mii_bus) mdiobus_unregister(priv->mii_bus); -@@ -1953,6 +1949,8 @@ static int bcm_enet_remove(struct platfo +@@ -1961,6 +1957,8 @@ static int bcm_enet_remove(struct platfo enet_writel(priv, 0, ENET_MIISC_REG); if (priv->has_phy) { diff --git a/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch b/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch index 1cff9c1ff9..e801532dd1 100644 --- a/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch +++ b/target/linux/brcm63xx/patches-4.4/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch @@ -32,7 +32,7 @@ Subject: [PATCH 54/81] bcm63xx_enet: enable rgmii clock on external ports #define ENETSW_MDIOC_EXT_MASK (1 << 16) --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -2229,6 +2229,18 @@ static int bcm_enetsw_open(struct net_de +@@ -2237,6 +2237,18 @@ static int bcm_enetsw_open(struct net_de priv->sw_port_link[i] = 0; } diff --git a/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch b/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch index 19d7905114..b060bedce9 100644 --- a/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch +++ b/target/linux/brcm63xx/patches-4.4/423-bcm63xx_enet_add_b53_support.patch @@ -20,7 +20,7 @@ #include #include "bcm63xx_enet.h" -@@ -1974,7 +1975,8 @@ static int bcm_enet_remove(struct platfo +@@ -1982,7 +1983,8 @@ static int bcm_enet_remove(struct platfo return 0; } @@ -30,7 +30,7 @@ .probe = bcm_enet_probe, .remove = bcm_enet_remove, .driver = { -@@ -1983,6 +1985,42 @@ struct platform_driver bcm63xx_enet_driv +@@ -1991,6 +1993,42 @@ struct platform_driver bcm63xx_enet_driv }, }; @@ -73,7 +73,7 @@ /* * switch mii access callbacks */ -@@ -2241,29 +2279,6 @@ static int bcm_enetsw_open(struct net_de +@@ -2249,29 +2287,6 @@ static int bcm_enetsw_open(struct net_de enetsw_writeb(priv, rgmii_ctrl, ENETSW_RGMII_CTRL_REG(i)); } @@ -103,7 +103,7 @@ /* initialize flow control buffer allocation */ enet_dma_writel(priv, ENETDMA_BUFALLOC_FORCE_MASK | 0, ENETDMA_BUFALLOC_REG(priv->rx_chan)); -@@ -2722,6 +2737,9 @@ static int bcm_enetsw_probe(struct platf +@@ -2730,6 +2745,9 @@ static int bcm_enetsw_probe(struct platf struct bcm63xx_enetsw_platform_data *pd; struct resource *res_mem; int ret, irq_rx, irq_tx; @@ -113,7 +113,7 @@ /* stop if shared driver failed, assume driver->probe will be * called in the same order we register devices (correct ?) -@@ -2811,6 +2829,43 @@ static int bcm_enetsw_probe(struct platf +@@ -2821,6 +2839,43 @@ static int bcm_enetsw_probe(struct platf priv->pdev = pdev; priv->net_dev = dev; @@ -156,8 +156,8 @@ + return 0; - out_put_clk: -@@ -2839,6 +2894,9 @@ static int bcm_enetsw_remove(struct plat + out_disable_clk: +@@ -2852,6 +2907,9 @@ static int bcm_enetsw_remove(struct plat priv = netdev_priv(dev); unregister_netdev(dev); diff --git a/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch b/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch index 24dd27a292..049f743b81 100644 --- a/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch +++ b/target/linux/brcm63xx/patches-4.4/424-bcm63xx_enet_no_request_mem_region.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -2784,12 +2784,6 @@ static int bcm_enetsw_probe(struct platf +@@ -2792,12 +2792,6 @@ static int bcm_enetsw_probe(struct platf if (ret) goto out; diff --git a/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch b/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch index 99075c6b9b..e5667327dd 100644 --- a/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch +++ b/target/linux/brcm63xx/patches-4.4/804-bcm63xx_enet_63268_rgmii_ports.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -2276,6 +2276,10 @@ static int bcm_enetsw_open(struct net_de +@@ -2284,6 +2284,10 @@ static int bcm_enetsw_open(struct net_de rgmii_ctrl = enetsw_readb(priv, ENETSW_RGMII_CTRL_REG(i)); rgmii_ctrl |= ENETSW_RGMII_CTRL_GMII_CLK_EN; diff --git a/target/linux/generic/config-4.4 b/target/linux/generic/config-4.4 index 14284ff3c3..4a0bb1f63f 100644 --- a/target/linux/generic/config-4.4 +++ b/target/linux/generic/config-4.4 @@ -962,6 +962,7 @@ CONFIG_DQL=y # CONFIG_DRAGONRISE_FF is not set # CONFIG_DRM is not set # CONFIG_DS1682 is not set +# CONFIG_DST_CACHE is not set # CONFIG_DTLK is not set # CONFIG_DUMMY is not set CONFIG_DUMMY_CONSOLE_COLUMNS=80 diff --git a/target/linux/generic/patches-4.4/201-extra_optimization.patch b/target/linux/generic/patches-4.4/201-extra_optimization.patch index b4235a11d4..8fa26bcae4 100644 --- a/target/linux/generic/patches-4.4/201-extra_optimization.patch +++ b/target/linux/generic/patches-4.4/201-extra_optimization.patch @@ -1,7 +1,7 @@ --- a/Makefile +++ b/Makefile -@@ -626,12 +626,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni - KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) +@@ -627,12 +627,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni + KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE -KBUILD_CFLAGS += -Os diff --git a/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch index dd5ee306ef..d23c7be1bd 100644 --- a/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch +++ b/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch @@ -1,7 +1,7 @@ --- a/drivers/mtd/ubi/attach.c +++ b/drivers/mtd/ubi/attach.c -@@ -803,6 +803,13 @@ out_unlock: - return err; +@@ -851,6 +851,13 @@ static bool vol_ignored(int vol_id) + #endif } +static bool ec_hdr_has_eof(struct ubi_ec_hdr *ech) @@ -14,7 +14,7 @@ /** * scan_peb - scan and process UBI headers of a PEB. * @ubi: UBI device description object -@@ -833,9 +840,21 @@ static int scan_peb(struct ubi_device *u +@@ -880,9 +887,21 @@ static int scan_peb(struct ubi_device *u return 0; } @@ -41,7 +41,7 @@ break; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -741,6 +741,7 @@ struct ubi_attach_info { +@@ -747,6 +747,7 @@ struct ubi_attach_info { int mean_ec; uint64_t ec_sum; int ec_count; diff --git a/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch index 0967795751..6a228a3429 100644 --- a/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch +++ b/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch @@ -59,7 +59,7 @@ if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) return -ENOMEM; -@@ -957,6 +985,7 @@ copy_entries_to_user(unsigned int total_ +@@ -958,6 +986,7 @@ copy_entries_to_user(unsigned int total_ const struct xt_table_info *private = table->private; int ret = 0; const void *loc_cpu_entry; @@ -67,7 +67,7 @@ counters = alloc_counters(table); if (IS_ERR(counters)) -@@ -983,6 +1012,14 @@ copy_entries_to_user(unsigned int total_ +@@ -984,6 +1013,14 @@ copy_entries_to_user(unsigned int total_ ret = -EFAULT; goto free_counters; } diff --git a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch index 66ce4bb51c..744bba1682 100644 --- a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch +++ b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch @@ -1,6 +1,6 @@ --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1234,24 +1234,7 @@ void netlink_detachskb(struct sock *sk, +@@ -1241,24 +1241,7 @@ void netlink_detachskb(struct sock *sk, static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation) { diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index bfe76dbc16..be4d032f27 100644 --- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -642,7 +642,8 @@ struct sk_buff { - __u8 ipvs_property:1; + __u8 inner_protocol_type:1; __u8 remcsum_offload:1; - /* 3 or 5 bit hole */ diff --git a/target/linux/generic/patches-4.4/834-ledtrig-libata.patch b/target/linux/generic/patches-4.4/834-ledtrig-libata.patch index ee8fe6bc49..b4979c0dc7 100644 --- a/target/linux/generic/patches-4.4/834-ledtrig-libata.patch +++ b/target/linux/generic/patches-4.4/834-ledtrig-libata.patch @@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4808,6 +4821,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4811,6 +4824,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = tag; -@@ -5704,6 +5720,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5707,6 +5723,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5725,6 +5744,12 @@ static void ata_host_release(struct devi +@@ -5728,6 +5747,12 @@ static void ata_host_release(struct devi kfree(ap->pmp_link); kfree(ap->slave_link); @@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6171,7 +6196,23 @@ int ata_host_register(struct ata_host *h +@@ -6174,7 +6199,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } @@ -138,7 +138,7 @@ Signed-off-by: Daniel Golle /* * Define if arch has non-standard setup. This is a _PCI_ standard -@@ -877,6 +880,12 @@ struct ata_port { +@@ -878,6 +881,12 @@ struct ata_port { #ifdef CONFIG_ATA_ACPI struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ #endif diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch index 636ea422e4..a385e45aa7 100644 --- a/target/linux/generic/patches-4.4/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch @@ -122,7 +122,7 @@ return -ENOMEM; --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -2684,6 +2684,8 @@ static const struct file_operations proc +@@ -2685,6 +2685,8 @@ static const struct file_operations proc static int __init proc_vmalloc_init(void) { diff --git a/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch b/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch index 700513ab0a..173fcd5a0f 100644 --- a/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch +++ b/target/linux/imx6/patches-4.4/207-i2c-imx-add-retries-for-NAK-s-on-ventana-boards.patch @@ -1,6 +1,6 @@ --- a/drivers/i2c/busses/i2c-imx.c +++ b/drivers/i2c/busses/i2c-imx.c -@@ -468,6 +468,8 @@ static int i2c_imx_acked(struct imx_i2c_ +@@ -469,6 +469,8 @@ static int i2c_imx_acked(struct imx_i2c_ { if (imx_i2c_read_reg(i2c_imx, IMX_I2C_I2SR) & I2SR_RXAK) { dev_dbg(&i2c_imx->adapter.dev, "<%s> No ACK\n", __func__); @@ -9,7 +9,7 @@ return -ENXIO; /* No ACK */ } -@@ -1073,6 +1075,10 @@ static int i2c_imx_probe(struct platform +@@ -1072,6 +1074,10 @@ static int i2c_imx_probe(struct platform i2c_imx->adapter.nr = pdev->id; i2c_imx->adapter.dev.of_node = pdev->dev.of_node; i2c_imx->base = base; diff --git a/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch b/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch index fd9f573493..033b5bab1a 100644 --- a/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch +++ b/target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch @@ -820,7 +820,7 @@ Signed-off-by: Mathieu Olivari #endif --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -1180,6 +1180,11 @@ int dsa_slave_create(struct dsa_switch * +@@ -1186,6 +1186,11 @@ int dsa_slave_create(struct dsa_switch * p->xmit = brcm_netdev_ops.xmit; break; #endif diff --git a/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch b/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch index 60b5d1a8cb..c2574f96de 100644 --- a/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch +++ b/target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch @@ -10,7 +10,7 @@ /* Get the HEAD */ skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node); -@@ -1147,6 +1150,10 @@ int pskb_expand_head(struct sk_buff *skb +@@ -1148,6 +1151,10 @@ int pskb_expand_head(struct sk_buff *skb if (skb_shared(skb)) BUG(); diff --git a/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch b/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch index e219f99942..68069e9379 100644 --- a/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch +++ b/target/linux/layerscape/patches-4.4/4046-mtd-ifc-Segregate-IFC-fcm-and-runtime-registers.patch @@ -424,7 +424,7 @@ Signed-off-by: Raghav Dogra /* clear the read buffer */ ifc_nand_ctrl->read_bytes = 0; -@@ -724,7 +724,7 @@ static int fsl_ifc_wait(struct mtd_info +@@ -727,7 +727,7 @@ static int fsl_ifc_wait(struct mtd_info { struct fsl_ifc_mtd *priv = chip->priv; struct fsl_ifc_ctrl *ctrl = priv->ctrl; @@ -433,7 +433,7 @@ Signed-off-by: Raghav Dogra u32 nand_fsr; int status; -@@ -827,39 +827,42 @@ static int fsl_ifc_chip_init_tail(struct +@@ -830,39 +830,42 @@ static int fsl_ifc_chip_init_tail(struct static void fsl_ifc_sram_init(struct fsl_ifc_mtd *priv) { struct fsl_ifc_ctrl *ctrl = priv->ctrl; @@ -491,7 +491,7 @@ Signed-off-by: Raghav Dogra /* wait for command complete flag or timeout */ wait_event_timeout(ctrl->nand_wait, ctrl->nand_stat, -@@ -869,14 +872,15 @@ static void fsl_ifc_sram_init(struct fsl +@@ -872,14 +875,15 @@ static void fsl_ifc_sram_init(struct fsl printk(KERN_ERR "fsl-ifc: Failed to Initialise SRAM\n"); /* Restore CSOR and CSOR_ext */ @@ -510,7 +510,7 @@ Signed-off-by: Raghav Dogra struct nand_chip *chip = &priv->chip; struct nand_ecclayout *layout; u32 csor; -@@ -887,7 +891,8 @@ static int fsl_ifc_chip_init(struct fsl_ +@@ -890,7 +894,8 @@ static int fsl_ifc_chip_init(struct fsl_ /* fill in nand_chip structure */ /* set up function call table */ @@ -520,7 +520,7 @@ Signed-off-by: Raghav Dogra chip->read_byte = fsl_ifc_read_byte16; else chip->read_byte = fsl_ifc_read_byte; -@@ -901,13 +906,14 @@ static int fsl_ifc_chip_init(struct fsl_ +@@ -904,13 +909,14 @@ static int fsl_ifc_chip_init(struct fsl_ chip->bbt_td = &bbt_main_descr; chip->bbt_md = &bbt_mirror_descr; @@ -537,7 +537,7 @@ Signed-off-by: Raghav Dogra chip->read_byte = fsl_ifc_read_byte16; chip->options |= NAND_BUSWIDTH_16; } else { -@@ -920,7 +926,7 @@ static int fsl_ifc_chip_init(struct fsl_ +@@ -923,7 +929,7 @@ static int fsl_ifc_chip_init(struct fsl_ chip->ecc.read_page = fsl_ifc_read_page; chip->ecc.write_page = fsl_ifc_write_page; @@ -546,7 +546,7 @@ Signed-off-by: Raghav Dogra /* Hardware generates ECC per 512 Bytes */ chip->ecc.size = 512; -@@ -1006,10 +1012,10 @@ static int fsl_ifc_chip_remove(struct fs +@@ -1009,10 +1015,10 @@ static int fsl_ifc_chip_remove(struct fs return 0; } @@ -559,7 +559,7 @@ Signed-off-by: Raghav Dogra if (!(cspr & CSPR_V)) return 0; -@@ -1023,7 +1029,7 @@ static DEFINE_MUTEX(fsl_ifc_nand_mutex); +@@ -1026,7 +1032,7 @@ static DEFINE_MUTEX(fsl_ifc_nand_mutex); static int fsl_ifc_nand_probe(struct platform_device *dev) { @@ -568,7 +568,7 @@ Signed-off-by: Raghav Dogra struct fsl_ifc_mtd *priv; struct resource res; static const char *part_probe_types[] -@@ -1034,9 +1040,9 @@ static int fsl_ifc_nand_probe(struct pla +@@ -1037,9 +1043,9 @@ static int fsl_ifc_nand_probe(struct pla struct mtd_part_parser_data ppdata; ppdata.of_node = dev->dev.of_node; @@ -580,7 +580,7 @@ Signed-off-by: Raghav Dogra /* get, allocate and map the memory resource */ ret = of_address_to_resource(node, 0, &res); -@@ -1047,7 +1053,7 @@ static int fsl_ifc_nand_probe(struct pla +@@ -1050,7 +1056,7 @@ static int fsl_ifc_nand_probe(struct pla /* find which chip select it is connected to */ for (bank = 0; bank < fsl_ifc_ctrl_dev->banks; bank++) { diff --git a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch index 3e39b0601f..31092b8488 100644 --- a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch +++ b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch @@ -1487,7 +1487,7 @@ Reviewed-by: Daniel Thompson writel(temp, &xhci->ir_set->irq_control); /* Set the HCD state before we enable the irqs */ -@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h +@@ -1725,6 +1730,9 @@ int xhci_drop_endpoint(struct usb_hcd *h xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep); @@ -1497,7 +1497,7 @@ Reviewed-by: Daniel Thompson xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n", (unsigned int) ep->desc.bEndpointAddress, udev->slot_id, -@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc +@@ -1820,6 +1828,15 @@ int xhci_add_endpoint(struct usb_hcd *hc return -ENOMEM; } @@ -1515,7 +1515,7 @@ Reviewed-by: Daniel Thompson --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1634,6 +1634,7 @@ struct xhci_hcd { +@@ -1638,6 +1638,7 @@ struct xhci_hcd { /* For controllers with a broken beyond repair streams implementation */ #define XHCI_BROKEN_STREAMS (1 << 19) #define XHCI_PME_STUCK_QUIRK (1 << 20) diff --git a/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch b/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch index 45c4bc70bb..2c741b9e06 100644 --- a/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch +++ b/target/linux/oxnas/patches-4.4/0074-mtd-nand-import-nand_hw_control_init.patch @@ -75,7 +75,7 @@ Signed-off-by: Boris Brezillon elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand; --- a/drivers/mtd/nand/fsl_ifc_nand.c +++ b/drivers/mtd/nand/fsl_ifc_nand.c -@@ -1074,8 +1074,7 @@ static int fsl_ifc_nand_probe(struct pla +@@ -1077,8 +1077,7 @@ static int fsl_ifc_nand_probe(struct pla ifc_nand_ctrl->addr = NULL; fsl_ifc_ctrl_dev->nand = ifc_nand_ctrl; diff --git a/target/linux/oxnas/patches-4.4/999-libata-hacks.patch b/target/linux/oxnas/patches-4.4/999-libata-hacks.patch index 83899e6f2b..cd426718db 100644 --- a/target/linux/oxnas/patches-4.4/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-4.4/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ /* XXX: Tag 0 is used for drivers with legacy EH as some -@@ -4815,6 +4823,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4818,6 +4826,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ /* libsas case */ if (ap->flags & ATA_FLAG_SAS_HOST) { tag = ata_sas_allocate_tag(ap); -@@ -4860,6 +4871,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -4863,6 +4874,8 @@ void ata_qc_free(struct ata_queued_cmd * qc->tag = ATA_TAG_POISON; if (ap->flags & ATA_FLAG_SAS_HOST) ata_sas_free_tag(tag, ap); @@ -36,7 +36,7 @@ --- a/include/linux/libata.h +++ b/include/linux/libata.h -@@ -906,6 +906,8 @@ struct ata_port_operations { +@@ -907,6 +907,8 @@ struct ata_port_operations { void (*qc_prep)(struct ata_queued_cmd *qc); unsigned int (*qc_issue)(struct ata_queued_cmd *qc); bool (*qc_fill_rtf)(struct ata_queued_cmd *qc); @@ -45,7 +45,7 @@ /* * Configuration and exception handling -@@ -996,6 +998,9 @@ struct ata_port_operations { +@@ -997,6 +999,9 @@ struct ata_port_operations { void (*phy_reset)(struct ata_port *ap); void (*eng_timeout)(struct ata_port *ap); diff --git a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch index 316e5d8fd4..97eae37e5d 100644 --- a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch +++ b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch @@ -1479,7 +1479,7 @@ Signed-off-by: Greg Kroah-Hartman writel(temp, &xhci->ir_set->irq_control); /* Set the HCD state before we enable the irqs */ -@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h +@@ -1725,6 +1730,9 @@ int xhci_drop_endpoint(struct usb_hcd *h xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep); @@ -1489,7 +1489,7 @@ Signed-off-by: Greg Kroah-Hartman xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n", (unsigned int) ep->desc.bEndpointAddress, udev->slot_id, -@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc +@@ -1820,6 +1828,15 @@ int xhci_add_endpoint(struct usb_hcd *hc return -ENOMEM; } @@ -1507,7 +1507,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1634,6 +1634,7 @@ struct xhci_hcd { +@@ -1638,6 +1638,7 @@ struct xhci_hcd { /* For controllers with a broken beyond repair streams implementation */ #define XHCI_BROKEN_STREAMS (1 << 19) #define XHCI_PME_STUCK_QUIRK (1 << 20) diff --git a/target/linux/x86/config-4.4 b/target/linux/x86/config-4.4 index d85d1882d3..a4a83be24c 100644 --- a/target/linux/x86/config-4.4 +++ b/target/linux/x86/config-4.4 @@ -21,7 +21,6 @@ CONFIG_ARCH_HAS_MMIO_FLUSH=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y @@ -417,6 +416,7 @@ CONFIG_X86_ALIGNMENT_16=y # CONFIG_X86_DEBUG_FPU is not set # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_F00F_BUG=y +CONFIG_X86_FAST_FEATURE_TESTS=y CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_GENERIC=y # CONFIG_X86_GX_SUSPMOD is not set