Просмотр исходного кода

kernel: update 4.1 to 4.1.10

Fixes a regression on spi flash devices (upstream commit 1583eaece6fa).

Changelogs:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.7
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.8
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.9
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.10

096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch was applied
upstream and dropped.

Signed-off-by: Mathias Kresin <[email protected]>
[update from 4.1.9 to 4.1.10]
Signed-off-by: Hauke Mehrtens <[email protected]>

SVN-Revision: 47104
Hauke Mehrtens 10 лет назад
Родитель
Сommit
0cd478518f
41 измененных файлов с 90 добавлено и 137 удалено
  1. 2 2
      include/kernel-version.mk
  2. 1 1
      target/linux/ar7/patches-4.1/320-ac49x-mtd-partitions.patch
  3. 1 1
      target/linux/ar71xx/patches-4.1/404-mtd-cybertan-trx-parser.patch
  4. 1 1
      target/linux/ar71xx/patches-4.1/405-mtd-tp-link-partition-parser.patch
  5. 2 2
      target/linux/ar71xx/patches-4.1/610-MIPS-ath79-UBNT-add-airGateway-pro-support.patch
  6. 1 1
      target/linux/ar71xx/patches-4.1/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch
  7. 1 1
      target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-ap152-support.patch
  8. 3 3
      target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-mr1750-support.patch
  9. 3 3
      target/linux/ar71xx/patches-4.1/816-MIPS-ath79-add-tl-wdr3320-v2-support.patch
  10. 6 6
      target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch
  11. 1 0
      target/linux/arm64/config-default
  12. 1 1
      target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch
  13. 0 3
      target/linux/bcm53xx/patches-4.1/305-ARM-BCM5301X-Add-DT-for-Linksys-EA6300-V1.patch
  14. 2 2
      target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch
  15. 1 1
      target/linux/brcm2708/patches-4.1/0033-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
  16. 2 2
      target/linux/brcm2708/patches-4.1/0099-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
  17. 4 3
      target/linux/brcm2708/patches-4.1/0156-spi-bcm2835-enable-dma-modes-for-transfers-meeting-c.patch
  18. 3 3
      target/linux/brcm2708/patches-4.1/0159-spi-bcm2835-fixed-compile-issues-due-to-embedded-com.patch
  19. 3 3
      target/linux/brcm2708/patches-4.1/0163-spi-bcm2835-Fix-buld-error-from-previous-commit.patch
  20. 0 46
      target/linux/generic/patches-4.1/096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch
  21. 1 1
      target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch
  22. 3 3
      target/linux/generic/patches-4.1/630-packet_socket_type.patch
  23. 4 4
      target/linux/generic/patches-4.1/642-bridge_port_isolate.patch
  24. 3 3
      target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch
  25. 1 1
      target/linux/generic/patches-4.1/653-disable_netlink_trim.patch
  26. 1 1
      target/linux/generic/patches-4.1/655-increase_skb_pad.patch
  27. 1 1
      target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch
  28. 10 10
      target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
  29. 5 5
      target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
  30. 3 3
      target/linux/generic/patches-4.1/721-phy_packets.patch
  31. 3 3
      target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch
  32. 5 5
      target/linux/generic/patches-4.1/834-ledtrig-libata.patch
  33. 2 2
      target/linux/generic/patches-4.1/902-debloat_proc.patch
  34. 1 1
      target/linux/generic/patches-4.1/960-decompress_unlzo_fix.patch
  35. 1 1
      target/linux/ipq806x/patches-4.1/037-mtd-add-SMEM-parser-for-QCOM-platforms.patch
  36. 1 1
      target/linux/ipq806x/patches-4.1/701-stmmac-add-phy-handle-support-to-the-platform-layer.patch
  37. 1 1
      target/linux/ipq806x/patches-4.1/703-stmmac-add-fixed-link-device-tree-support.patch
  38. 1 1
      target/linux/lantiq/patches-4.1/0001-MIPS-lantiq-add-pcie-driver.patch
  39. 1 1
      target/linux/lantiq/patches-4.1/0101-mtd-split.patch
  40. 2 2
      target/linux/oxnas/patches-4.1/300-introduce-oxnas-platform.patch
  41. 2 2
      target/linux/oxnas/patches-4.1/999-libata-hacks.patch

+ 2 - 2
include/kernel-version.mk

@@ -4,11 +4,11 @@ LINUX_RELEASE?=1
 
 
 LINUX_VERSION-3.18 = .21
 LINUX_VERSION-3.18 = .21
 LINUX_VERSION-4.0 = .9
 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-3.18.21 = e4248caaa4cef318c04657e971b37298
 LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
 LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
-LINUX_KERNEL_MD5SUM-4.1.6 = 1dae0c808e34164cab3dfd57be88bd53
+LINUX_KERNEL_MD5SUM-4.1.10 = 16953359a8c245d478294af65fd756a8
 
 
 ifdef KERNEL_PATCHVER
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

+ 1 - 1
target/linux/ar7/patches-4.1/320-ac49x-mtd-partitions.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 --- a/drivers/mtd/Kconfig
 +++ b/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,
  	  the partition map from the children of the flash node,
  	  as described in Documentation/devicetree/bindings/mtd/partition.txt.
  	  as described in Documentation/devicetree/bindings/mtd/partition.txt.
  
  

+ 1 - 1
target/linux/ar71xx/patches-4.1/404-mtd-cybertan-trx-parser.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 --- a/drivers/mtd/Kconfig
 +++ b/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
  	  This provides partitions parser for devices based on BCM47xx
  	  boards.
  	  boards.
  
  

+ 1 - 1
target/linux/ar71xx/patches-4.1/405-mtd-tp-link-partition-parser.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 --- a/drivers/mtd/Kconfig
 +++ b/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
  	  You will still need the parsing functions to be called by the driver
  	  for your particular device. It won't happen automatically.
  	  for your particular device. It won't happen automatically.
  
  

+ 2 - 2
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
 @@ -642,3 +642,59 @@ static void __init ubnt_airgateway_setup
  MIPS_MACHINE(ATH79_MACH_UBNT_AIRGW, "UBNT-AGW", "Ubiquiti AirGateway",
  MIPS_MACHINE(ATH79_MACH_UBNT_AIRGW, "UBNT-AGW", "Ubiquiti AirGateway",
  	     ubnt_airgateway_setup);
  	     ubnt_airgateway_setup);

+ 1 - 1
target/linux/ar71xx/patches-4.1/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch

@@ -9,7 +9,7 @@
  #define AR913X_BASE_FREQ	5000000
  #define AR913X_BASE_FREQ	5000000
  
  
  struct clk {
  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);
  	div = ((pll >> AR724X_PLL_DIV_SHIFT) & AR724X_PLL_DIV_MASK);
  	freq = div * ref_rate;
  	freq = div * ref_rate;
  
  

+ 1 - 1
target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-ap152-support.patch

@@ -23,7 +23,7 @@
  	select SOC_AR913X
  	select SOC_AR913X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/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_AP136)		+= mach-ap136.o
  obj-$(CONFIG_ATH79_MACH_AP143)		+= mach-ap143.o
  obj-$(CONFIG_ATH79_MACH_AP143)		+= mach-ap143.o
  obj-$(CONFIG_ATH79_MACH_AP147)		+= mach-ap147.o
  obj-$(CONFIG_ATH79_MACH_AP147)		+= mach-ap147.o

+ 3 - 3
target/linux/ar71xx/patches-4.1/815-MIPS-ath79-add-mr1750-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/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_M25P80
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  
  
@@ -19,7 +19,7 @@
  	select SOC_QCA955X
  	select SOC_QCA955X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/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_MC_MAC1200R)     += mach-mc-mac1200r.o
  obj-$(CONFIG_ATH79_MACH_MR12)		+= mach-mr12.o
  obj-$(CONFIG_ATH79_MACH_MR12)		+= mach-mr12.o
  obj-$(CONFIG_ATH79_MACH_MR16)		+= mach-mr16.o
  obj-$(CONFIG_ATH79_MACH_MR16)		+= mach-mr16.o
@@ -29,7 +29,7 @@
  obj-$(CONFIG_ATH79_MACH_MYNET_N600)	+= mach-mynet-n600.o
  obj-$(CONFIG_ATH79_MACH_MYNET_N600)	+= mach-mynet-n600.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/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_HORNET_UB,		/* ALFA Networks Hornet-UB */
  	ATH79_MACH_MR12,		/* Cisco Meraki MR12 */
  	ATH79_MACH_MR12,		/* Cisco Meraki MR12 */
  	ATH79_MACH_MR16,		/* Cisco Meraki MR16 */
  	ATH79_MACH_MR16,		/* Cisco Meraki MR16 */

+ 3 - 3
target/linux/ar71xx/patches-4.1/816-MIPS-ath79-add-tl-wdr3320-v2-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/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_M25P80
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  
  
@@ -20,7 +20,7 @@
  	select SOC_AR934X
  	select SOC_AR934X
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/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,		/* TP-LINK TL-WA901ND */
  	ATH79_MACH_TL_WA901ND_V2,	/* TP-LINK TL-WA901ND v2 */
  	ATH79_MACH_TL_WA901ND_V2,	/* TP-LINK TL-WA901ND v2 */
  	ATH79_MACH_TL_WA901ND_V3,	/* TP-LINK TL-WA901ND v3 */
  	ATH79_MACH_TL_WA901ND_V3,	/* TP-LINK TL-WA901ND v3 */
@@ -30,7 +30,7 @@
  	ATH79_MACH_TL_WDR6500_V2,	/* TP-LINK TL-WDR6500 v2 */
  	ATH79_MACH_TL_WDR6500_V2,	/* TP-LINK TL-WDR6500 v2 */
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/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_WA830RE_V2)	+= mach-tl-wa830re-v2.o
  obj-$(CONFIG_ATH79_MACH_TL_WA901ND)	+= mach-tl-wa901nd.o
  obj-$(CONFIG_ATH79_MACH_TL_WA901ND)	+= mach-tl-wa901nd.o
  obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2)	+= mach-tl-wa901nd-v2.o
  obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2)	+= mach-tl-wa901nd-v2.o

+ 6 - 6
target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch

@@ -241,7 +241,7 @@
   */
   */
 --- a/net/ipv6/datagram.c
 --- a/net/ipv6/datagram.c
 +++ b/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,
  				ipv6_iface_scope_id(&sin->sin6_addr,
  						    IP6CB(skb)->iif);
  						    IP6CB(skb)->iif);
  		} else {
  		} else {
@@ -250,7 +250,7 @@
  					       &sin->sin6_addr);
  					       &sin->sin6_addr);
  			sin->sin6_scope_id = 0;
  			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) {
  			if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@@ -267,7 +267,7 @@
  		case IPV6_2292HOPOPTS:
  		case IPV6_2292HOPOPTS:
 --- a/net/ipv6/ip6_gre.c
 --- a/net/ipv6/ip6_gre.c
 +++ b/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,
  	t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
  				flags & GRE_KEY ?
  				flags & GRE_KEY ?
@@ -276,7 +276,7 @@
  				p[1]);
  				p[1]);
  	if (!t)
  	if (!t)
  		return;
  		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;
  			offset += 4;
  		}
  		}
  		if (flags&GRE_KEY) {
  		if (flags&GRE_KEY) {
@@ -290,7 +290,7 @@
  			offset += 4;
  			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) {
  		if (tunnel->parms.o_flags&GRE_SEQ) {
  			++tunnel->o_seqno;
  			++tunnel->o_seqno;
@@ -299,7 +299,7 @@
  			ptr--;
  			ptr--;
  		}
  		}
  		if (tunnel->parms.o_flags&GRE_KEY) {
  		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);
  	dsfield = ipv6_get_dsfield(ipv6h);
  	if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
  	if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)

+ 1 - 0
target/linux/arm64/config-default

@@ -47,6 +47,7 @@ CONFIG_ARM64_ERRATUM_824069=y
 CONFIG_ARM64_ERRATUM_826319=y
 CONFIG_ARM64_ERRATUM_826319=y
 CONFIG_ARM64_ERRATUM_827319=y
 CONFIG_ARM64_ERRATUM_827319=y
 CONFIG_ARM64_ERRATUM_832075=y
 CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_843419=y
 CONFIG_ARM64_ERRATUM_845719=y
 CONFIG_ARM64_ERRATUM_845719=y
 # CONFIG_ARM64_PTDUMP is not set
 # CONFIG_ARM64_PTDUMP is not set
 # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
 # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set

+ 1 - 1
target/linux/bcm53xx/patches-4.1/110-firmware-backport-NVRAM-driver.patch

@@ -18,7 +18,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
 
 
 --- a/arch/arm/Kconfig
 --- a/arch/arm/Kconfig
 +++ b/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"
  source "drivers/firmware/Kconfig"
  
  

+ 0 - 3
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 <[email protected]>
  	bcm4708-luxul-xwc-1000.dtb \
  	bcm4708-luxul-xwc-1000.dtb \
  	bcm4708-netgear-r6250.dtb \
  	bcm4708-netgear-r6250.dtb \
  	bcm4708-netgear-r6300-v2.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
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts
 +++ b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts
 @@ -0,0 +1,48 @@
 @@ -0,0 +1,48 @@

+ 2 - 2
target/linux/brcm2708/patches-4.1/0001-Main-bcm2708-bcm2709-linux-port.patch

@@ -168,7 +168,7 @@ Signed-off-by: Noralf Trønnes <[email protected]>
  config ARCH_MULTIPLATFORM
  config ARCH_MULTIPLATFORM
  	bool "Allow multiple platforms to be selected"
  	bool "Allow multiple platforms to be selected"
  	depends on MMU
  	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
  # Kconfigs may be included either alphabetically (according to the
  # plat- suffix) or along side the corresponding mach-* source.
  # plat- suffix) or along side the corresponding mach-* source.
  #
  #
@@ -6745,7 +6745,7 @@ Signed-off-by: Noralf Trønnes <[email protected]>
  ENTRY(cpu_v6_dcache_clean_area)
  ENTRY(cpu_v6_dcache_clean_area)
 --- a/arch/arm/mm/proc-v7.S
 --- a/arch/arm/mm/proc-v7.S
 +++ b/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
  	orr	r0, r0, r6			@ set them
   THUMB(	orr	r0, r0, #1 << 30	)	@ Thumb exceptions
   THUMB(	orr	r0, r0, #1 << 30	)	@ Thumb exceptions
  	ret	lr				@ return to head.S:__ret
  	ret	lr				@ return to head.S:__ret

+ 1 - 1
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
 --- a/kernel/cgroup.c
 +++ b/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);
  __setup("cgroup_disable=", cgroup_disable);
  
  

+ 2 - 2
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 <[email protected]>
 
 
 --- a/drivers/spi/spi-bcm2835.c
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/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;
  	int err;
  	struct gpio_chip *chip;
  	struct gpio_chip *chip;
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <[email protected]>
  	/*
  	/*
  	 * sanity checking the native-chipselects
  	 * 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");
  			"setup: only two native chip-selects are supported\n");
  		return -EINVAL;
  		return -EINVAL;
  	}
  	}

+ 4 - 3
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 <[email protected]>
  static int bcm2835_spi_transfer_one_poll(struct spi_master *master,
  static int bcm2835_spi_transfer_one_poll(struct spi_master *master,
  					 struct spi_device *spi,
  					 struct spi_device *spi,
  					 struct spi_transfer *tfr,
  					 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,
  		return bcm2835_spi_transfer_one_poll(master, spi, tfr,
  						     cs, xfer_time_us);
  						     cs, xfer_time_us);
  
  
@@ -387,6 +387,7 @@ Signed-off-by: Mark Brown <[email protected]>
  	return bcm2835_spi_transfer_one_irq(master, spi, tfr, cs);
  	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,
  static void bcm2835_spi_handle_err(struct spi_master *master,
  				   struct spi_message *msg)
  				   struct spi_message *msg)
  {
  {
@@ -402,7 +403,7 @@ Signed-off-by: Mark Brown <[email protected]>
  	bcm2835_spi_reset_hw(master);
  	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;
  		goto out_clk_disable;
  	}
  	}
  
  
@@ -411,7 +412,7 @@ Signed-off-by: Mark Brown <[email protected]>
  	/* initialise the hardware with the default polarities */
  	/* initialise the hardware with the default polarities */
  	bcm2835_wr(bs, BCM2835_SPI_CS,
  	bcm2835_wr(bs, BCM2835_SPI_CS,
  		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
  		   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);
  	clk_disable_unprepare(bs->clk);
  
  

+ 3 - 3
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 <[email protected]>
 
 
 --- a/drivers/spi/spi-bcm2835.c
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/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
 +#if 0
  static void bcm2835_spi_handle_err(struct spi_master *master,
  static void bcm2835_spi_handle_err(struct spi_master *master,
  				   struct spi_message *msg)
  				   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 */
  	/* and reset */
  	bcm2835_spi_reset_hw(master);
  	bcm2835_spi_reset_hw(master);
  }
  }

+ 3 - 3
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
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/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
 -#if 0
  static void bcm2835_spi_handle_err(struct spi_master *master,
  static void bcm2835_spi_handle_err(struct spi_master *master,
  				   struct spi_message *msg)
  				   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 */
  	/* and reset */
  	bcm2835_spi_reset_hw(master);
  	bcm2835_spi_reset_hw(master);
  }
  }

+ 0 - 46
target/linux/generic/patches-4.1/096-ipv4-off-by-one-in-continuation-handling-in-proc-net.patch

@@ -1,46 +0,0 @@
-From 25b97c016b26039982daaa2c11d83979f93b71ab Mon Sep 17 00:00:00 2001
-From: Andy Whitcroft <[email protected]>
-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 </proc/net/route >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 <[email protected]>
-Signed-off-by: Andy Whitcroft <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
----
- 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;

+ 1 - 1
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
 --- a/arch/powerpc/boot/Makefile
 +++ b/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
  DTC_FLAGS	?= -p 1024
  
  
  $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
  $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405

+ 3 - 3
target/linux/generic/patches-4.1/630-packet_socket_type.patch

@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  		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);
  	spin_lock_init(&po->bind_lock);
  	mutex_init(&po->pg_vec_lock);
  	mutex_init(&po->pg_vec_lock);
  	po->prot_hook.func = packet_rcv;
  	po->prot_hook.func = packet_rcv;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  
  	if (sock->type == SOCK_PACKET)
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
  		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;
  		po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
  		return 0;
  		return 0;
  	}
  	}
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	default:
  	default:
  		return -ENOPROTOOPT;
  		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:
  	case PACKET_VNET_HDR:
  		val = po->has_vnet_hdr;
  		val = po->has_vnet_hdr;
  		break;
  		break;

+ 4 - 4
target/linux/generic/patches-4.1/642-bridge_port_isolate.patch

@@ -61,7 +61,7 @@ Isolating individual bridge ports
  		skb = NULL;
  		skb = NULL;
 --- a/net/bridge/br_forward.c
 --- a/net/bridge/br_forward.c
 +++ b/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 */
  /* called with rcu_read_lock */
  void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, struct sk_buff *skb0)
  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)
  		if (skb0)
  			deliver_clone(to, skb, __br_forward);
  			deliver_clone(to, skb, __br_forward);
  		else
  		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,
  		     struct sk_buff *skb0,
  		     void (*__packet_hook)(const struct net_bridge_port *p,
  		     void (*__packet_hook)(const struct net_bridge_port *p,
  					   struct sk_buff *skb),
  					   struct sk_buff *skb),
@@ -79,7 +79,7 @@ Isolating individual bridge ports
  {
  {
  	struct net_bridge_port *p;
  	struct net_bridge_port *p;
  	struct net_bridge_port *prev;
  	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;
  	prev = NULL;
  
  
  	list_for_each_entry_rcu(p, &br->port_list, list) {
  	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 */
  		/* Do not flood unicast traffic to ports that turn it off */
  		if (unicast && !(p->flags & BR_FLOOD))
  		if (unicast && !(p->flags & BR_FLOOD))
  			continue;
  			continue;
-@@ -216,14 +218,14 @@ out:
+@@ -217,14 +219,14 @@ out:
  /* called with rcu_read_lock */
  /* called with rcu_read_lock */
  void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast)
  void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast)
  {
  {

+ 3 - 3
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);
  	rcu_assign_pointer(*pp, p);
 --- a/net/bridge/br_forward.c
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
-@@ -169,6 +169,34 @@ out:
+@@ -170,6 +170,34 @@ out:
  	return p;
  	return p;
  }
  }
  
  
@@ -345,7 +345,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  /* called under bridge lock */
  /* called under bridge lock */
  static void br_flood(struct net_bridge *br, struct sk_buff *skb,
  static void br_flood(struct net_bridge *br, struct sk_buff *skb,
  		     struct sk_buff *skb0,
  		     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 *prev = NULL;
  	struct net_bridge_port_group *p;
  	struct net_bridge_port_group *p;
  	struct hlist_node *rp;
  	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));
  	rp = rcu_dereference(hlist_first_rcu(&br->router_list));
  	p = mdst ? rcu_dereference(mdst->ports) : NULL;
  	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) :
  		rport = rp ? hlist_entry(rp, struct net_bridge_port, rlist) :
  			     NULL;
  			     NULL;
  
  

+ 1 - 1
target/linux/generic/patches-4.1/653-disable_netlink_trim.patch

@@ -1,6 +1,6 @@
 --- a/net/netlink/af_netlink.c
 --- a/net/netlink/af_netlink.c
 +++ b/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)
  static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
  {
  {

+ 1 - 1
target/linux/generic/patches-4.1/655-increase_skb_pad.patch

@@ -1,6 +1,6 @@
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/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)
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
   */
  #ifndef NET_SKB_PAD
  #ifndef NET_SKB_PAD

+ 1 - 1
target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch

@@ -14,7 +14,7 @@ when needed.
 
 
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/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);
  	BUG_ON(err);
  }
  }
  
  

+ 10 - 10
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 <[email protected]>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 --- a/net/ipv4/fib_trie.c
 +++ b/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_THROW] = "THROW",
  	[RTN_NAT] = "NAT",
  	[RTN_NAT] = "NAT",
  	[RTN_XRESOLVE] = "XRESOLVE",
  	[RTN_XRESOLVE] = "XRESOLVE",
@@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  static const struct rt6_info ip6_blk_hole_entry_template = {
  static const struct rt6_info ip6_blk_hole_entry_template = {
  	.dst = {
  	.dst = {
  		.__refcnt	= ATOMIC_INIT(1),
  		.__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.output = ip6_pkt_prohibit_out;
  			rt->dst.input = ip6_pkt_prohibit;
  			rt->dst.input = ip6_pkt_prohibit;
  			break;
  			break;
@@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		case RTN_THROW:
  		case RTN_THROW:
  		default:
  		default:
  			rt->dst.error = (cfg->fc_type == RTN_THROW) ? -EAGAIN
  			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);
  	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  }
  
  
@@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  /*
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   *	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 ||
  	if (rtm->rtm_type == RTN_UNREACHABLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
@@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		cfg->fc_flags |= RTF_REJECT;
  		cfg->fc_flags |= RTF_REJECT;
  
  
  	if (rtm->rtm_type == RTN_LOCAL)
  	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:
  		case -EACCES:
  			rtm->rtm_type = RTN_PROHIBIT;
  			rtm->rtm_type = RTN_PROHIBIT;
  			break;
  			break;
@@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		case -EAGAIN:
  		case -EAGAIN:
  			rtm->rtm_type = RTN_THROW;
  			rtm->rtm_type = RTN_THROW;
  			break;
  			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
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
  #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;
  	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  			 ip6_template_metrics, true);
  			 ip6_template_metrics, true);
@@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  #endif
  #endif
  
  
  	net->ipv6.sysctl.flush_delay = 0;
  	net->ipv6.sysctl.flush_delay = 0;
-@@ -3135,6 +3185,8 @@ out:
+@@ -3284,6 +3334,8 @@ out:
  	return ret;
  	return ret;
  
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  out_ip6_prohibit_entry:
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_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
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	kfree(net->ipv6.ip6_prohibit_entry);
  	kfree(net->ipv6.ip6_prohibit_entry);
  	kfree(net->ipv6.ip6_blk_hole_entry);
  	kfree(net->ipv6.ip6_blk_hole_entry);
@@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
  #endif
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  	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_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->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

+ 5 - 5
target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch

@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/net/core/dev.c
 --- a/net/core/dev.c
 +++ b/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;
  	enum gro_result ret;
  	int grow;
  	int grow;
  
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!(skb->dev->features & NETIF_F_GRO))
  	if (!(skb->dev->features & NETIF_F_GRO))
  		goto normal;
  		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);
  					   &upper_dev->adj_list.lower);
  }
  }
  
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  static int __netdev_upper_dev_link(struct net_device *dev,
  static int __netdev_upper_dev_link(struct net_device *dev,
  				   struct net_device *upper_dev, bool master,
  				   struct net_device *upper_dev, bool master,
  				   void *private)
  				   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;
  			goto rollback_lower_mesh;
  	}
  	}
  
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  	call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  	return 0;
  	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)
  	list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
  		__netdev_adjacent_dev_unlink(dev, i->dev);
  		__netdev_adjacent_dev_unlink(dev, i->dev);
  
  
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  	call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
  }
  }
  EXPORT_SYMBOL(netdev_upper_dev_unlink);
  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)
  	if (err)
  		return err;
  		return err;
  	dev->addr_assign_type = NET_ADDR_SET;
  	dev->addr_assign_type = NET_ADDR_SET;

+ 3 - 3
target/linux/generic/patches-4.1/721-phy_packets.patch

@@ -41,7 +41,7 @@
   */
   */
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/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;
  	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
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
   *	@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
  	help
 --- a/net/core/dev.c
 --- a/net/core/dev.c
 +++ b/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))
  	if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
  		dev_queue_xmit_nit(skb, dev);
  		dev_queue_xmit_nit(skb, dev);
  
  

+ 3 - 3
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
  /* The Mellanox Tavor device gives false positive parity errors
   * Mark this device with a broken_parity_status, to allow
   * Mark this device with a broken_parity_status, to allow
   * PCI scanning code to "skip" this now blacklisted device.
   * 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, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, 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
   * 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,
   * Some BIOS implementations leave the Intel GPU interrupts enabled,
   * even though no one is handling them (f.e. i915 driver is never loaded).
   * 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, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
  

+ 5 - 5
target/linux/generic/patches-4.1/834-ledtrig-libata.patch

@@ -49,7 +49,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  	depends on ACPI && PCI
  	depends on ACPI && PCI
 --- a/drivers/ata/libata-core.c
 --- a/drivers/ata/libata-core.c
 +++ b/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;
  	return block;
  }
  }
  
  
@@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  /**
  /**
   *	ata_build_rw_tf - Build ATA taskfile for given read/write request
   *	ata_build_rw_tf - Build ATA taskfile for given read/write request
   *	@tf: Target ATA taskfile
   *	@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)
  		if (tag < 0)
  			return NULL;
  			return NULL;
  	}
  	}
@@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  
  
  	qc = __ata_qc_from_tag(ap, tag);
  	qc = __ata_qc_from_tag(ap, tag);
  	qc->tag = 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.unhandled_irq = 1;
  	ap->stats.idle_irq = 1;
  	ap->stats.idle_irq = 1;
  #endif
  #endif
@@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  	ata_sff_port_init(ap);
  	ata_sff_port_init(ap);
  
  
  	return 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->pmp_link);
  		kfree(ap->slave_link);
  		kfree(ap->slave_link);
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <[email protected]>
  		kfree(ap);
  		kfree(ap);
  		host->ports[i] = NULL;
  		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]->print_id = atomic_inc_return(&ata_print_id);
  		host->ports[i]->local_port_no = i + 1;
  		host->ports[i]->local_port_no = i + 1;
  	}
  	}

+ 2 - 2
target/linux/generic/patches-4.1/902-debloat_proc.patch

@@ -184,7 +184,7 @@
  
  
 --- a/net/ipv4/fib_trie.c
 --- a/net/ipv4/fib_trie.c
 +++ b/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)
  int __net_init fib_proc_init(struct net *net)
  {
  {
@@ -199,7 +199,7 @@
  			 &fib_triestat_fops))
  			 &fib_triestat_fops))
  		goto out2;
  		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;
  	return 0;
  
  
  out3:
  out3:

+ 1 - 1
target/linux/generic/patches-4.1/960-decompress_unlzo_fix.patch

@@ -13,7 +13,7 @@
 +#endif
 +#endif
 --- a/lib/decompress_unlzo.c
 --- a/lib/decompress_unlzo.c
 +++ b/lib/decompress_unlzo.c
 +++ b/lib/decompress_unlzo.c
-@@ -38,6 +38,7 @@
+@@ -39,6 +39,7 @@
  
  
  #include <linux/types.h>
  #include <linux/types.h>
  #include <linux/lzo.h>
  #include <linux/lzo.h>

+ 1 - 1
target/linux/ipq806x/patches-4.1/037-mtd-add-SMEM-parser-for-QCOM-platforms.patch

@@ -17,7 +17,7 @@ Signed-off-by: Mathieu Olivari <[email protected]>
 
 
 --- a/drivers/mtd/Kconfig
 --- a/drivers/mtd/Kconfig
 +++ b/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
  	  You will still need the parsing functions to be called by the driver
  	  for your particular device. It won't happen automatically.
  	  for your particular device. It won't happen automatically.
  
  

+ 1 - 1
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 <[email protected]>
 +				     interface);
 +				     interface);
 +	}
 +	}
  
  
- 	if (IS_ERR(phydev)) {
+ 	if (IS_ERR_OR_NULL(phydev)) {
  		pr_err("%s: Could not attach to PHY\n", dev->name);
  		pr_err("%s: Could not attach to PHY\n", dev->name);
 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
 +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
 +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c

+ 1 - 1
target/linux/ipq806x/patches-4.1/703-stmmac-add-fixed-link-device-tree-support.patch

@@ -18,7 +18,7 @@ Signed-off-by: Mathieu Olivari <[email protected]>
 
 
 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
 +++ b/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.
  	 * device as well.
  	 * Note: phydev->phy_id is the result of reading the UID PHY registers.
  	 * Note: phydev->phy_id is the result of reading the UID PHY registers.
  	 */
  	 */

+ 1 - 1
target/linux/lantiq/patches-4.1/0001-MIPS-lantiq-add-pcie-driver.patch

@@ -5514,7 +5514,7 @@ Signed-off-by: John Crispin <[email protected]>
  	  (transaction layer end-to-end CRC checking).
  	  (transaction layer end-to-end CRC checking).
 --- a/include/linux/pci.h
 --- a/include/linux/pci.h
 +++ b/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);
  		  void *userdata);
  int pci_cfg_space_size(struct pci_dev *dev);
  int pci_cfg_space_size(struct pci_dev *dev);
  unsigned char pci_bus_max_busnr(struct pci_bus *bus);
  unsigned char pci_bus_max_busnr(struct pci_bus *bus);

+ 1 - 1
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)
  mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
  {
  {
  	unsigned long mask = mtd->erasesize - 1;
  	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;
  		return;
  
  
  	len = be32_to_cpu(hdr.size) + 0x40;
  	len = be32_to_cpu(hdr.size) + 0x40;

+ 2 - 2
target/linux/oxnas/patches-4.1/300-introduce-oxnas-platform.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/Kconfig
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -599,6 +599,18 @@ config ARCH_LPC32XX
+@@ -600,6 +600,18 @@ config ARCH_LPC32XX
  	help
  	help
  	  Support for the NXP LPC32XX family of processors
  	  Support for the NXP LPC32XX family of processors
  
  
@@ -19,7 +19,7 @@
  config ARCH_PXA
  config ARCH_PXA
  	bool "PXA2xx/PXA3xx-based"
  	bool "PXA2xx/PXA3xx-based"
  	depends on MMU
  	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"
  source "arch/arm/mach-orion5x/Kconfig"
  
  

+ 2 - 2
target/linux/oxnas/patches-4.1/999-libata-hacks.patch

@@ -15,7 +15,7 @@
  	/* initialize internal qc */
  	/* initialize internal qc */
  
  
  	/* XXX: Tag 0 is used for drivers with legacy EH as some
  	/* 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))
  	if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
  		return NULL;
  		return NULL;
  
  
@@ -25,7 +25,7 @@
  	/* libsas case */
  	/* libsas case */
  	if (ap->flags & ATA_FLAG_SAS_HOST) {
  	if (ap->flags & ATA_FLAG_SAS_HOST) {
  		tag = ata_sas_allocate_tag(ap);
  		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;
  		qc->tag = ATA_TAG_POISON;
  		if (ap->flags & ATA_FLAG_SAS_HOST)
  		if (ap->flags & ATA_FLAG_SAS_HOST)
  			ata_sas_free_tag(tag, ap);
  			ata_sas_free_tag(tag, ap);