diff --git a/include/kernel-version.mk b/include/kernel-version.mk index afc0e651e2c..1982d5ba510 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -4,11 +4,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .21 LINUX_VERSION-4.0 = .9 -LINUX_VERSION-4.1 = .6 +LINUX_VERSION-4.1 = .10 LINUX_KERNEL_MD5SUM-3.18.21 = e4248caaa4cef318c04657e971b37298 LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b -LINUX_KERNEL_MD5SUM-4.1.6 = 1dae0c808e34164cab3dfd57be88bd53 +LINUX_KERNEL_MD5SUM-4.1.10 = 16953359a8c245d478294af65fd756a8 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/ar7/patches-4.1/320-ac49x-mtd-partitions.patch b/target/linux/ar7/patches-4.1/320-ac49x-mtd-partitions.patch index 475104e6fe7..23304931e8b 100644 --- a/target/linux/ar7/patches-4.1/320-ac49x-mtd-partitions.patch +++ b/target/linux/ar7/patches-4.1/320-ac49x-mtd-partitions.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -164,6 +164,11 @@ config MTD_OF_PARTS +@@ -159,6 +159,11 @@ config MTD_OF_PARTS the partition map from the children of the flash node, as described in Documentation/devicetree/bindings/mtd/partition.txt. diff --git a/target/linux/ar71xx/patches-4.1/404-mtd-cybertan-trx-parser.patch b/target/linux/ar71xx/patches-4.1/404-mtd-cybertan-trx-parser.patch index f4dbb922378..8809256772d 100644 --- a/target/linux/ar71xx/patches-4.1/404-mtd-cybertan-trx-parser.patch +++ b/target/linux/ar71xx/patches-4.1/404-mtd-cybertan-trx-parser.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -184,6 +184,12 @@ config MTD_BCM47XX_PARTS +@@ -179,6 +179,12 @@ config MTD_BCM47XX_PARTS This provides partitions parser for devices based on BCM47xx boards. diff --git a/target/linux/ar71xx/patches-4.1/405-mtd-tp-link-partition-parser.patch b/target/linux/ar71xx/patches-4.1/405-mtd-tp-link-partition-parser.patch index 11a9beb19ed..04c9cee4fc8 100644 --- a/target/linux/ar71xx/patches-4.1/405-mtd-tp-link-partition-parser.patch +++ b/target/linux/ar71xx/patches-4.1/405-mtd-tp-link-partition-parser.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -206,6 +206,12 @@ config MTD_MYLOADER_PARTS +@@ -201,6 +201,12 @@ config MTD_MYLOADER_PARTS You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. diff --git a/target/linux/ar71xx/patches-4.1/610-MIPS-ath79-UBNT-add-airGateway-pro-support.patch b/target/linux/ar71xx/patches-4.1/610-MIPS-ath79-UBNT-add-airGateway-pro-support.patch index f7c62ef406f..27cc1e50a7c 100644 --- a/target/linux/ar71xx/patches-4.1/610-MIPS-ath79-UBNT-add-airGateway-pro-support.patch +++ b/target/linux/ar71xx/patches-4.1/610-MIPS-ath79-UBNT-add-airGateway-pro-support.patch @@ -1,5 +1,5 @@ ---- a/arch/mips/ath79/mach-ubnt-xm.c 2015-08-19 21:26:47.694157530 -0600 -+++ b/arch/mips/ath79/mach-ubnt-xm.c 2015-08-20 16:24:06.908537535 -0600 +--- a/arch/mips/ath79/mach-ubnt-xm.c ++++ b/arch/mips/ath79/mach-ubnt-xm.c @@ -642,3 +642,59 @@ static void __init ubnt_airgateway_setup MIPS_MACHINE(ATH79_MACH_UBNT_AIRGW, "UBNT-AGW", "Ubiquiti AirGateway", ubnt_airgateway_setup); diff --git a/target/linux/ar71xx/patches-4.1/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch b/target/linux/ar71xx/patches-4.1/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch index 16d462137e5..45833467ad3 100644 --- a/target/linux/ar71xx/patches-4.1/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch +++ b/target/linux/ar71xx/patches-4.1/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch @@ -9,7 +9,7 @@ #define AR913X_BASE_FREQ 5000000 struct clk { -@@ -99,8 +99,8 @@ +@@ -99,8 +99,8 @@ static void __init ar724x_clocks_init(vo div = ((pll >> AR724X_PLL_DIV_SHIFT) & AR724X_PLL_DIV_MASK); freq = div * ref_rate; diff --git a/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-ap152-support.patch b/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-ap152-support.patch index 0b24886a223..b134914c07a 100644 --- a/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-ap152-support.patch +++ b/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-ap152-support.patch @@ -23,7 +23,7 @@ select SOC_AR913X --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -50,6 +50,7 @@ obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o +@@ -50,6 +50,7 @@ obj-$(CONFIG_ATH79_MACH_AP132) += mach- obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o obj-$(CONFIG_ATH79_MACH_AP147) += mach-ap147.o diff --git a/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-mr1750-support.patch b/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-mr1750-support.patch index d802a12d60f..ec6f08ae437 100644 --- a/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-mr1750-support.patch +++ b/target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-mr1750-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -763,6 +763,16 @@ config ATH79_MACH_CAP4200AG +@@ -900,6 +900,16 @@ config ATH79_MACH_CAP4200AG select ATH79_DEV_M25P80 select ATH79_DEV_WMAC @@ -19,7 +19,7 @@ select SOC_QCA955X --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma +@@ -91,6 +91,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o @@ -29,7 +29,7 @@ obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -69,6 +69,7 @@ enum ath79_mach_type { +@@ -80,6 +80,7 @@ enum ath79_mach_type { ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */ ATH79_MACH_MR12, /* Cisco Meraki MR12 */ ATH79_MACH_MR16, /* Cisco Meraki MR16 */ diff --git a/target/linux/ar71xx/patches-4.1/816-MIPS-ath79-add-tl-wdr3320-v2-support.patch b/target/linux/ar71xx/patches-4.1/816-MIPS-ath79-add-tl-wdr3320-v2-support.patch index 8d6d686d5be..5c58fd75279 100644 --- a/target/linux/ar71xx/patches-4.1/816-MIPS-ath79-add-tl-wdr3320-v2-support.patch +++ b/target/linux/ar71xx/patches-4.1/816-MIPS-ath79-add-tl-wdr3320-v2-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -1031,6 +1031,17 @@ +@@ -1055,6 +1055,17 @@ config ATH79_MACH_TL_WA901ND_V2 select ATH79_DEV_M25P80 select ATH79_DEV_WMAC @@ -20,7 +20,7 @@ select SOC_AR934X --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -152,6 +152,7 @@ +@@ -155,6 +155,7 @@ enum ath79_mach_type { ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */ ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */ ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */ @@ -30,7 +30,7 @@ ATH79_MACH_TL_WDR6500_V2, /* TP-LINK TL-WDR6500 v2 */ --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -128,6 +128,7 @@ +@@ -131,6 +131,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) + obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o diff --git a/target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch index 3a73aea431b..d98695f2515 100644 --- a/target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch @@ -241,7 +241,7 @@ */ --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c -@@ -414,7 +414,7 @@ int ipv6_recv_error(struct sock *sk, str +@@ -424,7 +424,7 @@ int ipv6_recv_error(struct sock *sk, str ipv6_iface_scope_id(&sin->sin6_addr, IP6CB(skb)->iif); } else { @@ -250,7 +250,7 @@ &sin->sin6_addr); sin->sin6_scope_id = 0; } -@@ -751,12 +751,12 @@ int ip6_datagram_send_ctl(struct net *ne +@@ -761,12 +761,12 @@ int ip6_datagram_send_ctl(struct net *ne } if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { @@ -267,7 +267,7 @@ case IPV6_2292HOPOPTS: --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c -@@ -393,7 +393,7 @@ static void ip6gre_err(struct sk_buff *s +@@ -394,7 +394,7 @@ static void ip6gre_err(struct sk_buff *s t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, flags & GRE_KEY ? @@ -276,7 +276,7 @@ p[1]); if (!t) return; -@@ -475,11 +475,11 @@ static int ip6gre_rcv(struct sk_buff *sk +@@ -476,11 +476,11 @@ static int ip6gre_rcv(struct sk_buff *sk offset += 4; } if (flags&GRE_KEY) { @@ -290,7 +290,7 @@ offset += 4; } } -@@ -744,7 +744,7 @@ static netdev_tx_t ip6gre_xmit2(struct s +@@ -745,7 +745,7 @@ static netdev_tx_t ip6gre_xmit2(struct s if (tunnel->parms.o_flags&GRE_SEQ) { ++tunnel->o_seqno; @@ -299,7 +299,7 @@ ptr--; } if (tunnel->parms.o_flags&GRE_KEY) { -@@ -840,7 +840,7 @@ static inline int ip6gre_xmit_ipv6(struc +@@ -841,7 +841,7 @@ static inline int ip6gre_xmit_ipv6(struc dsfield = ipv6_get_dsfield(ipv6h); if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) diff --git a/target/linux/arm64/config-default b/target/linux/arm64/config-default index 28162b9f9bd..adb75c789d9 100644 --- a/target/linux/arm64/config-default +++ b/target/linux/arm64/config-default @@ -47,6 +47,7 @@ CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_826319=y CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_843419=y CONFIG_ARM64_ERRATUM_845719=y # CONFIG_ARM64_PTDUMP is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set diff --git a/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch b/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch index 5e944b05137..748664987a7 100644 --- a/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch +++ b/target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch @@ -18,7 +18,7 @@ Signed-off-by: Rafał Miłecki --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -2105,6 +2105,8 @@ source "drivers/Kconfig" +@@ -2106,6 +2106,8 @@ source "drivers/Kconfig" source "drivers/firmware/Kconfig" diff --git a/target/linux/bcm53xx/patches-4.1/305-ARM-BCM5301X-Add-DT-for-Linksys-EA6300-V1.patch b/target/linux/bcm53xx/patches-4.1/305-ARM-BCM5301X-Add-DT-for-Linksys-EA6300-V1.patch index ed66664e731..a1cbbe938d8 100644 --- a/target/linux/bcm53xx/patches-4.1/305-ARM-BCM5301X-Add-DT-for-Linksys-EA6300-V1.patch +++ b/target/linux/bcm53xx/patches-4.1/305-ARM-BCM5301X-Add-DT-for-Linksys-EA6300-V1.patch @@ -16,9 +16,6 @@ Signed-off-by: Rafał Miłecki bcm4708-luxul-xwc-1000.dtb \ bcm4708-netgear-r6250.dtb \ bcm4708-netgear-r6300-v2.dtb \ -diff --git a/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts -new file mode 100644 -index 0000000..705d0c2 --- /dev/null +++ b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts @@ -0,0 +1,48 @@ diff --git a/target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch b/target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch index 80ad8c34616..79891f85041 100644 --- a/target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch +++ b/target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch @@ -168,7 +168,7 @@ Signed-off-by: Noralf Trønnes config ARCH_MULTIPLATFORM bool "Allow multiple platforms to be selected" depends on MMU -@@ -823,6 +859,9 @@ config ARCH_VIRT +@@ -824,6 +860,9 @@ config ARCH_VIRT # Kconfigs may be included either alphabetically (according to the # plat- suffix) or along side the corresponding mach-* source. # @@ -6745,7 +6745,7 @@ Signed-off-by: Noralf Trønnes ENTRY(cpu_v6_dcache_clean_area) --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S -@@ -456,6 +456,7 @@ __v7_setup: +@@ -460,6 +460,7 @@ __v7_setup_cont: orr r0, r0, r6 @ set them THUMB( orr r0, r0, #1 << 30 ) @ Thumb exceptions ret lr @ return to head.S:__ret diff --git a/target/linux/brcm2708/patches-4.1/0033-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-4.1/0033-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch index 2a2f9b39808..71d7491f5b1 100644 --- a/target/linux/brcm2708/patches-4.1/0033-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch +++ b/target/linux/brcm2708/patches-4.1/0033-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch @@ -11,7 +11,7 @@ Subject: [PATCH 033/171] config: Enable CONFIG_MEMCG, but leave it disabled --- a/kernel/cgroup.c +++ b/kernel/cgroup.c -@@ -5393,6 +5393,29 @@ static int __init cgroup_disable(char *s +@@ -5394,6 +5394,29 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/brcm2708/patches-4.1/0099-spi-bcm2835-Support-pin-groups-other-than-7-11.patch b/target/linux/brcm2708/patches-4.1/0099-spi-bcm2835-Support-pin-groups-other-than-7-11.patch index f414d10abdf..05da85c4422 100644 --- a/target/linux/brcm2708/patches-4.1/0099-spi-bcm2835-Support-pin-groups-other-than-7-11.patch +++ b/target/linux/brcm2708/patches-4.1/0099-spi-bcm2835-Support-pin-groups-other-than-7-11.patch @@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c -@@ -359,6 +359,8 @@ static int bcm2835_spi_setup(struct spi_ +@@ -376,6 +376,8 @@ static int bcm2835_spi_setup(struct spi_ { int err; struct gpio_chip *chip; @@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell /* * sanity checking the native-chipselects */ -@@ -375,15 +377,42 @@ static int bcm2835_spi_setup(struct spi_ +@@ -392,15 +394,42 @@ static int bcm2835_spi_setup(struct spi_ "setup: only two native chip-selects are supported\n"); return -EINVAL; } diff --git a/target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch b/target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch index 3521f08258b..15205d1732a 100644 --- a/target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch +++ b/target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch @@ -375,7 +375,7 @@ Signed-off-by: Mark Brown static int bcm2835_spi_transfer_one_poll(struct spi_master *master, struct spi_device *spi, struct spi_transfer *tfr, -@@ -301,12 +582,26 @@ static int bcm2835_spi_transfer_one(stru +@@ -299,6 +580,11 @@ static int bcm2835_spi_transfer_one(stru return bcm2835_spi_transfer_one_poll(master, spi, tfr, cs, xfer_time_us); @@ -387,6 +387,7 @@ Signed-off-by: Mark Brown return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs); } +@@ -324,6 +610,15 @@ static int bcm2835_spi_prepare_message(s static void bcm2835_spi_handle_err(struct spi_master *master, struct spi_message *msg) { @@ -402,7 +403,7 @@ Signed-off-by: Mark Brown bcm2835_spi_reset_hw(master); } -@@ -505,6 +800,8 @@ static int bcm2835_spi_probe(struct plat +@@ -523,6 +818,8 @@ static int bcm2835_spi_probe(struct plat goto out_clk_disable; } @@ -411,7 +412,7 @@ Signed-off-by: Mark Brown /* initialise the hardware with the default polarities */ bcm2835_wr(bs, BCM2835_SPI_CS, BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX); -@@ -535,6 +832,8 @@ static int bcm2835_spi_remove(struct pla +@@ -553,6 +850,8 @@ static int bcm2835_spi_remove(struct pla clk_disable_unprepare(bs->clk); diff --git a/target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch b/target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch index 6f5cee2aa54..394112284c2 100644 --- a/target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch +++ b/target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch @@ -11,15 +11,15 @@ Signed-off-by: Martin Sperl --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c -@@ -592,6 +592,7 @@ static int bcm2835_spi_transfer_one(stru - return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs); +@@ -609,6 +609,7 @@ static int bcm2835_spi_prepare_message(s + return 0; } +#if 0 static void bcm2835_spi_handle_err(struct spi_master *master, struct spi_message *msg) { -@@ -606,6 +607,7 @@ static void bcm2835_spi_handle_err(struc +@@ -623,6 +624,7 @@ static void bcm2835_spi_handle_err(struc /* and reset */ bcm2835_spi_reset_hw(master); } diff --git a/target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch b/target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch index 101f28e4045..21061de5ca9 100644 --- a/target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch +++ b/target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch @@ -9,15 +9,15 @@ Subject: [PATCH 163/171] spi: bcm2835: Fix buld error from previous commit --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c -@@ -592,7 +592,6 @@ static int bcm2835_spi_transfer_one(stru - return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs); +@@ -609,7 +609,6 @@ static int bcm2835_spi_prepare_message(s + return 0; } -#if 0 static void bcm2835_spi_handle_err(struct spi_master *master, struct spi_message *msg) { -@@ -607,7 +606,6 @@ static void bcm2835_spi_handle_err(struc +@@ -624,7 +623,6 @@ static void bcm2835_spi_handle_err(struc /* and reset */ bcm2835_spi_reset_hw(master); } diff --git a/target/linux/generic/patches-4.1/096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch b/target/linux/generic/patches-4.1/096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch deleted file mode 100644 index aa316414499..00000000000 --- a/target/linux/generic/patches-4.1/096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 25b97c016b26039982daaa2c11d83979f93b71ab Mon Sep 17 00:00:00 2001 -From: Andy Whitcroft -Date: Thu, 13 Aug 2015 20:49:01 +0100 -Subject: [PATCH] ipv4: off-by-one in continuation handling in /proc/net/route - -When generating /proc/net/route we emit a header followed by a line for -each route. When a short read is performed we will restart this process -based on the open file descriptor. When calculating the start point we -fail to take into account that the 0th entry is the header. This leads -us to skip the first entry when doing a continuation read. - -This can be easily seen with the comparison below: - - while read l; do echo "$l"; done A - cat /proc/net/route >B - diff -bu A B | grep '^[+-]' - -On my example machine I have approximatly 10KB of route output. There we -see the very first non-title element is lost in the while read case, -and an entry around the 8K mark in the cat case: - - +wlan0 00000000 02021EAC 0003 0 0 400 00000000 0 0 0 - -tun1 00C0AC0A 00000000 0001 0 0 950 00C0FFFF 0 0 0 - -Fix up the off-by-one when reaquiring position on continuation. - -Fixes: 8be33e955cb9 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf") -BugLink: http://bugs.launchpad.net/bugs/1483440 -Acked-by: Alexander Duyck -Signed-off-by: Andy Whitcroft -Signed-off-by: David S. Miller ---- - net/ipv4/fib_trie.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/net/ipv4/fib_trie.c -+++ b/net/ipv4/fib_trie.c -@@ -2457,7 +2457,7 @@ static struct key_vector *fib_route_get_ - key = l->key + 1; - iter->pos++; - -- if (pos-- <= 0) -+ if (--pos <= 0) - break; - - l = NULL; diff --git a/target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch b/target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch index 8673de4df2b..7ea4479c20b 100644 --- a/target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch +++ b/target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch @@ -15,7 +15,7 @@ they still want to support gcc 3.3 -- well, we don't. --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile -@@ -45,10 +45,10 @@ BOOTCFLAGS += -I$(obj) -I$(srctree)/$(ob +@@ -48,10 +48,10 @@ BOOTCFLAGS += -I$(obj) -I$(srctree)/$(ob DTC_FLAGS ?= -p 1024 $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405 diff --git a/target/linux/generic/patches-4.1/630-packet_socket_type.patch b/target/linux/generic/patches-4.1/630-packet_socket_type.patch index 9fb9a400eef..ca6ce297c49 100644 --- a/target/linux/generic/patches-4.1/630-packet_socket_type.patch +++ b/target/linux/generic/patches-4.1/630-packet_socket_type.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2852,6 +2854,7 @@ static int packet_create(struct net *net +@@ -2851,6 +2853,7 @@ static int packet_create(struct net *net spin_lock_init(&po->bind_lock); mutex_init(&po->pg_vec_lock); po->prot_hook.func = packet_rcv; @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3457,6 +3460,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3456,6 +3459,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3508,6 +3521,13 @@ static int packet_getsockopt(struct sock +@@ -3507,6 +3520,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/patches-4.1/642-bridge_port_isolate.patch b/target/linux/generic/patches-4.1/642-bridge_port_isolate.patch index 06c368d1f06..13f84ae13eb 100644 --- a/target/linux/generic/patches-4.1/642-bridge_port_isolate.patch +++ b/target/linux/generic/patches-4.1/642-bridge_port_isolate.patch @@ -61,7 +61,7 @@ Isolating individual bridge ports skb = NULL; --- a/net/bridge/br_forward.c +++ b/net/bridge/br_forward.c -@@ -118,7 +118,7 @@ EXPORT_SYMBOL_GPL(br_deliver); +@@ -119,7 +119,7 @@ EXPORT_SYMBOL_GPL(br_deliver); /* called with rcu_read_lock */ void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, struct sk_buff *skb0) { @@ -70,7 +70,7 @@ Isolating individual bridge ports if (skb0) deliver_clone(to, skb, __br_forward); else -@@ -174,7 +174,7 @@ static void br_flood(struct net_bridge * +@@ -175,7 +175,7 @@ static void br_flood(struct net_bridge * struct sk_buff *skb0, void (*__packet_hook)(const struct net_bridge_port *p, struct sk_buff *skb), @@ -79,7 +79,7 @@ Isolating individual bridge ports { struct net_bridge_port *p; struct net_bridge_port *prev; -@@ -182,6 +182,8 @@ static void br_flood(struct net_bridge * +@@ -183,6 +183,8 @@ static void br_flood(struct net_bridge * prev = NULL; list_for_each_entry_rcu(p, &br->port_list, list) { @@ -88,7 +88,7 @@ Isolating individual bridge ports /* Do not flood unicast traffic to ports that turn it off */ if (unicast && !(p->flags & BR_FLOOD)) continue; -@@ -216,14 +218,14 @@ out: +@@ -217,14 +219,14 @@ out: /* called with rcu_read_lock */ void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast) { diff --git a/target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch b/target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch index d11a4a8fffc..1ea6fc60e0f 100644 --- a/target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch +++ b/target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch @@ -310,7 +310,7 @@ Implement optinal multicast->unicast conversion for igmp snooping rcu_assign_pointer(*pp, p); --- a/net/bridge/br_forward.c +++ b/net/bridge/br_forward.c -@@ -169,6 +169,34 @@ out: +@@ -170,6 +170,34 @@ out: return p; } @@ -345,7 +345,7 @@ Implement optinal multicast->unicast conversion for igmp snooping /* called under bridge lock */ static void br_flood(struct net_bridge *br, struct sk_buff *skb, struct sk_buff *skb0, -@@ -241,6 +269,7 @@ static void br_multicast_flood(struct ne +@@ -242,6 +270,7 @@ static void br_multicast_flood(struct ne struct net_bridge_port *prev = NULL; struct net_bridge_port_group *p; struct hlist_node *rp; @@ -353,7 +353,7 @@ Implement optinal multicast->unicast conversion for igmp snooping rp = rcu_dereference(hlist_first_rcu(&br->router_list)); p = mdst ? rcu_dereference(mdst->ports) : NULL; -@@ -251,10 +280,19 @@ static void br_multicast_flood(struct ne +@@ -252,10 +281,19 @@ static void br_multicast_flood(struct ne rport = rp ? hlist_entry(rp, struct net_bridge_port, rlist) : NULL; diff --git a/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch index 7d2e6ff674a..5df265b0257 100644 --- a/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch +++ b/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch @@ -1,6 +1,6 @@ --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1724,27 +1724,7 @@ void netlink_detachskb(struct sock *sk, +@@ -1775,27 +1775,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.1/655-increase_skb_pad.patch b/target/linux/generic/patches-4.1/655-increase_skb_pad.patch index 81453722acb..c4aee0701ee 100644 --- a/target/linux/generic/patches-4.1/655-increase_skb_pad.patch +++ b/target/linux/generic/patches-4.1/655-increase_skb_pad.patch @@ -1,6 +1,6 @@ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2031,7 +2031,7 @@ static inline int pskb_network_may_pull( +@@ -2027,7 +2027,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch b/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch index 3a59c3966db..72e5c26d80f 100644 --- a/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch +++ b/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch @@ -14,7 +14,7 @@ when needed. --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2076,6 +2076,24 @@ static inline void pskb_trim_unique(stru +@@ -2072,6 +2072,24 @@ static inline void pskb_trim_unique(stru BUG_ON(err); } diff --git a/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index e0bc2102e7f..0c453ff7d91 100644 --- a/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski static void rt_fibinfo_free(struct rtable __rcu **rtp) --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -2352,6 +2352,7 @@ static const char *const rtn_type_names[ +@@ -2348,6 +2348,7 @@ static const char *const rtn_type_names[ [RTN_THROW] = "THROW", [RTN_NAT] = "NAT", [RTN_XRESOLVE] = "XRESOLVE", @@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -1635,6 +1652,11 @@ int ip6_route_add(struct fib6_config *cf +@@ -1634,6 +1651,11 @@ int ip6_route_info_create(struct fib6_co rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: default: rt->dst.error = (cfg->fc_type == RTN_THROW) ? -EAGAIN -@@ -2202,6 +2224,17 @@ static int ip6_pkt_prohibit_out(struct s +@@ -2225,6 +2247,17 @@ static int ip6_pkt_prohibit_out(struct s return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -2428,7 +2461,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -2451,7 +2484,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -2644,6 +2678,9 @@ static int rt6_fill_node(struct net *net +@@ -2793,6 +2827,9 @@ static int rt6_fill_node(struct net *net case -EACCES: rtm->rtm_type = RTN_PROHIBIT; break; @@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -2901,6 +2938,8 @@ static int ip6_route_dev_notify(struct n +@@ -3050,6 +3087,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3117,6 +3156,17 @@ static int __net_init ip6_route_net_init +@@ -3266,6 +3305,17 @@ static int __net_init ip6_route_net_init net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); @@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski #endif net->ipv6.sysctl.flush_delay = 0; -@@ -3135,6 +3185,8 @@ out: +@@ -3284,6 +3334,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -3152,6 +3204,7 @@ static void __net_exit ip6_route_net_exi +@@ -3301,6 +3353,7 @@ static void __net_exit ip6_route_net_exi #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); @@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -3248,6 +3301,9 @@ int __init ip6_route_init(void) +@@ -3397,6 +3450,9 @@ int __init ip6_route_init(void) init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 4d82ec0a9d4..fb6a35523d3 100644 --- a/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4039,6 +4039,9 @@ static enum gro_result dev_gro_receive(s +@@ -4036,6 +4036,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5186,6 +5189,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5185,6 +5188,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *private) -@@ -5246,6 +5291,7 @@ static int __netdev_upper_dev_link(struc +@@ -5245,6 +5290,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev); return 0; -@@ -5363,6 +5409,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5362,6 +5408,7 @@ void netdev_upper_dev_unlink(struct net_ list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) __netdev_adjacent_dev_unlink(dev, i->dev); @@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev); } EXPORT_SYMBOL(netdev_upper_dev_unlink); -@@ -5902,6 +5949,7 @@ int dev_set_mac_address(struct net_devic +@@ -5901,6 +5948,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/patches-4.1/721-phy_packets.patch b/target/linux/generic/patches-4.1/721-phy_packets.patch index 4855186b9f4..a511c66d2f2 100644 --- a/target/linux/generic/patches-4.1/721-phy_packets.patch +++ b/target/linux/generic/patches-4.1/721-phy_packets.patch @@ -41,7 +41,7 @@ */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2062,6 +2062,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2058,6 +2058,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -52,7 +52,7 @@ /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2188,16 +2192,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2184,16 +2188,6 @@ static inline struct sk_buff *dev_alloc_ } @@ -86,7 +86,7 @@ help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2649,10 +2649,20 @@ static int xmit_one(struct sk_buff *skb, +@@ -2645,10 +2645,20 @@ static int xmit_one(struct sk_buff *skb, if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch index 8f72637eecc..325d189912e 100644 --- a/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch @@ -23,7 +23,7 @@ /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow * PCI scanning code to "skip" this now blacklisted device. -@@ -2925,6 +2926,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -2949,6 +2950,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -31,7 +31,7 @@ /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To -@@ -2981,6 +2983,8 @@ static void fixup_debug_report(struct pc +@@ -3005,6 +3007,8 @@ static void fixup_debug_report(struct pc } } @@ -40,7 +40,7 @@ /* * Some BIOS implementations leave the Intel GPU interrupts enabled, * even though no one is handling them (f.e. i915 driver is never loaded). -@@ -3015,6 +3019,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3039,6 +3043,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/generic/patches-4.1/834-ledtrig-libata.patch b/target/linux/generic/patches-4.1/834-ledtrig-libata.patch index b794c466632..84b722d5488 100644 --- a/target/linux/generic/patches-4.1/834-ledtrig-libata.patch +++ b/target/linux/generic/patches-4.1/834-ledtrig-libata.patch @@ -49,7 +49,7 @@ Signed-off-by: Daniel Golle depends on ACPI && PCI --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c -@@ -728,6 +728,19 @@ u64 ata_tf_read_block(const struct ata_t +@@ -728,6 +728,19 @@ u64 ata_tf_read_block(struct ata_taskfil return block; } @@ -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 -@@ -4789,6 +4802,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4773,6 +4786,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; -@@ -5686,6 +5702,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5670,6 +5686,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; -@@ -5707,6 +5726,12 @@ static void ata_host_release(struct devi +@@ -5691,6 +5710,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; } -@@ -6153,7 +6178,23 @@ int ata_host_register(struct ata_host *h +@@ -6137,7 +6162,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; } diff --git a/target/linux/generic/patches-4.1/902-debloat_proc.patch b/target/linux/generic/patches-4.1/902-debloat_proc.patch index fef538254c4..bf85100283c 100644 --- a/target/linux/generic/patches-4.1/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.1/902-debloat_proc.patch @@ -184,7 +184,7 @@ --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -2630,10 +2630,12 @@ static const struct file_operations fib_ +@@ -2626,10 +2626,12 @@ static const struct file_operations fib_ int __net_init fib_proc_init(struct net *net) { @@ -199,7 +199,7 @@ &fib_triestat_fops)) goto out2; -@@ -2643,17 +2645,21 @@ int __net_init fib_proc_init(struct net +@@ -2639,17 +2641,21 @@ int __net_init fib_proc_init(struct net return 0; out3: diff --git a/target/linux/generic/patches-4.1/960-decompress_unlzo_fix.patch b/target/linux/generic/patches-4.1/960-decompress_unlzo_fix.patch index ee7c118ef06..37e322ad8ca 100644 --- a/target/linux/generic/patches-4.1/960-decompress_unlzo_fix.patch +++ b/target/linux/generic/patches-4.1/960-decompress_unlzo_fix.patch @@ -13,7 +13,7 @@ +#endif --- a/lib/decompress_unlzo.c +++ b/lib/decompress_unlzo.c -@@ -38,6 +38,7 @@ +@@ -39,6 +39,7 @@ #include #include diff --git a/target/linux/ipq806x/patches-4.1/037-mtd-add-SMEM-parser-for-QCOM-platforms.patch b/target/linux/ipq806x/patches-4.1/037-mtd-add-SMEM-parser-for-QCOM-platforms.patch index b2c8cd5c53a..5fc54134de5 100644 --- a/target/linux/ipq806x/patches-4.1/037-mtd-add-SMEM-parser-for-QCOM-platforms.patch +++ b/target/linux/ipq806x/patches-4.1/037-mtd-add-SMEM-parser-for-QCOM-platforms.patch @@ -17,7 +17,7 @@ Signed-off-by: Mathieu Olivari --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -200,6 +200,13 @@ config MTD_MYLOADER_PARTS +@@ -195,6 +195,13 @@ config MTD_MYLOADER_PARTS You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. diff --git a/target/linux/ipq806x/patches-4.1/701-stmmac-add-phy-handle-support-to-the-platform-layer.patch b/target/linux/ipq806x/patches-4.1/701-stmmac-add-phy-handle-support-to-the-platform-layer.patch index 3711e1282b4..5c298872483 100644 --- a/target/linux/ipq806x/patches-4.1/701-stmmac-add-phy-handle-support-to-the-platform-layer.patch +++ b/target/linux/ipq806x/patches-4.1/701-stmmac-add-phy-handle-support-to-the-platform-layer.patch @@ -63,7 +63,7 @@ Signed-off-by: Mathieu Olivari + interface); + } - if (IS_ERR(phydev)) { + if (IS_ERR_OR_NULL(phydev)) { pr_err("%s: Could not attach to PHY\n", dev->name); --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c diff --git a/target/linux/ipq806x/patches-4.1/703-stmmac-add-fixed-link-device-tree-support.patch b/target/linux/ipq806x/patches-4.1/703-stmmac-add-fixed-link-device-tree-support.patch index a05875bca5b..f2305ac5aaa 100644 --- a/target/linux/ipq806x/patches-4.1/703-stmmac-add-fixed-link-device-tree-support.patch +++ b/target/linux/ipq806x/patches-4.1/703-stmmac-add-fixed-link-device-tree-support.patch @@ -18,7 +18,7 @@ Signed-off-by: Mathieu Olivari --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -856,7 +856,7 @@ static int stmmac_init_phy(struct net_de +@@ -859,7 +859,7 @@ static int stmmac_init_phy(struct net_de * device as well. * Note: phydev->phy_id is the result of reading the UID PHY registers. */ diff --git a/target/linux/lantiq/patches-4.1/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-4.1/0001-MIPS-lantiq-add-pcie-driver.patch index fcc596fd23f..e65e9826b86 100644 --- a/target/linux/lantiq/patches-4.1/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-4.1/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5514,7 +5514,7 @@ Signed-off-by: John Crispin (transaction layer end-to-end CRC checking). --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1177,6 +1177,8 @@ void pci_walk_bus(struct pci_bus *top, i +@@ -1179,6 +1179,8 @@ void pci_walk_bus(struct pci_bus *top, i void *userdata); int pci_cfg_space_size(struct pci_dev *dev); unsigned char pci_bus_max_busnr(struct pci_bus *bus); diff --git a/target/linux/lantiq/patches-4.1/0101-mtd-split.patch b/target/linux/lantiq/patches-4.1/0101-mtd-split.patch index 342c66f144d..e3c363307a8 100644 --- a/target/linux/lantiq/patches-4.1/0101-mtd-split.patch +++ b/target/linux/lantiq/patches-4.1/0101-mtd-split.patch @@ -182,7 +182,7 @@ mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len) { unsigned long mask = mtd->erasesize - 1; -@@ -833,7 +833,6 @@ static void split_uimage(struct mtd_info +@@ -792,7 +792,6 @@ static void split_uimage(struct mtd_info return; len = be32_to_cpu(hdr.size) + 0x40; diff --git a/target/linux/oxnas/patches-4.1/300-introduce-oxnas-platform.patch b/target/linux/oxnas/patches-4.1/300-introduce-oxnas-platform.patch index d96633db71f..3130a021e8e 100644 --- a/target/linux/oxnas/patches-4.1/300-introduce-oxnas-platform.patch +++ b/target/linux/oxnas/patches-4.1/300-introduce-oxnas-platform.patch @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -599,6 +599,18 @@ config ARCH_LPC32XX +@@ -600,6 +600,18 @@ config ARCH_LPC32XX help Support for the NXP LPC32XX family of processors @@ -19,7 +19,7 @@ config ARCH_PXA bool "PXA2xx/PXA3xx-based" depends on MMU -@@ -897,6 +909,8 @@ source "arch/arm/mach-omap2/Kconfig" +@@ -898,6 +910,8 @@ source "arch/arm/mach-omap2/Kconfig" source "arch/arm/mach-orion5x/Kconfig" diff --git a/target/linux/oxnas/patches-4.1/999-libata-hacks.patch b/target/linux/oxnas/patches-4.1/999-libata-hacks.patch index 3d9ec115f68..7d6670be565 100644 --- a/target/linux/oxnas/patches-4.1/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-4.1/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ /* XXX: Tag 0 is used for drivers with legacy EH as some -@@ -4796,6 +4804,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4780,6 +4788,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); -@@ -4841,6 +4852,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -4825,6 +4836,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);