[source] kernel: update kernel 4.4 to version 4.4.15

LEDE Commits lede-commits at lists.infradead.org
Wed Jul 13 06:39:52 PDT 2016


hauke pushed a commit to source.git, branch master:
https://git.lede-project.org/?p=source.git;a=commitdiff;h=efa1960abb390d696704d029507dff671cc271fd

commit efa1960abb390d696704d029507dff671cc271fd
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Wed Jul 13 12:07:08 2016 +0200

    kernel: update kernel 4.4 to version 4.4.15
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-version.mk                          |   4 +-
 ...usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch |  18 ----
 ...y-bcm-ns-usb2-checking-the-wrong-variable.patch |   7 +-
 ...ci-plat-fix-adding-usb3-lpm-capable-quirk.patch |   2 +-
 ..._postpush_rcsum-and-fix-dev_forward_skb-o.patch |   6 +-
 .../brcm47xx/patches-4.4/999-wl_exports.patch      |   2 +-
 .../brcm63xx/patches-4.4/800-wl_exports.patch      |   2 +-
 ...ensure-that-.debug_frame-is-generated-vs..patch |   5 -
 .../645-bridge_multicast_to_unicast.patch          |  46 ++++-----
 ...mc_snooping_if_bridge_has_no_ipv6_address.patch | 113 ---------------------
 ...b-Remove-annoying-warning-about-bogus-URB.patch |   7 +-
 ...egister-mii_bus-for-SerDes-w-external-phy.patch |  10 +-
 ...mediatek-support-MTK-xHCI-host-controller.patch |   8 +-
 ...mediatek-support-MTK-xHCI-host-controller.patch |   8 +-
 .../ramips/patches-4.4/0085-pinmux-util.patch      |   6 +-
 .../ramips/patches-4.4/0085-sdhci-no-wp.patch      |   4 +-
 .../patches-4.4/0105-set_mt7621_soc_type.patch     |   2 +-
 .../linux/ramips/patches-4.4/0519-gsw_mt7621.patch |   6 +-
 .../linux/ramips/patches-4.4/0520-esw-gmac.patch   |  10 +-
 .../0720-arch-mips-ralink-add-i2c-clocks.patch     |   8 +-
 20 files changed, 64 insertions(+), 210 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 5304c65..36097bb 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,11 +4,11 @@ LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .29
 LINUX_VERSION-4.1 = .20
-LINUX_VERSION-4.4 = .14
+LINUX_VERSION-4.4 = .15
 
 LINUX_KERNEL_MD5SUM-3.18.29 = b25737a0bc98e80d12200de93f239c28
 LINUX_KERNEL_MD5SUM-4.1.20 = 075c38a3a23ca5bc80437b13606df00a
-LINUX_KERNEL_MD5SUM-4.4.14 = 59e99c3bf5d495f1f95d26257962ca3e
+LINUX_KERNEL_MD5SUM-4.4.15 = 7b59c25c783173969bfb62cac4f057ce
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch b/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch
index 870bcb8..c12cdb1 100644
--- a/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch
+++ b/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch
@@ -30,9 +30,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
  create mode 100644 drivers/phy/phy-bcm-ns-usb2.c
  create mode 100644 include/linux/bcma/bcma_driver_arm_c9.h
 
-diff --git a/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt b/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt
-new file mode 100644
-index 0000000..a7aee9e
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt
 @@ -0,0 +1,21 @@
@@ -57,8 +54,6 @@ index 0000000..a7aee9e
 +		clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
 +		clock-names = "phy-ref-clk";
 +	};
-diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
-index f6ff76e..f2b458f 100644
 --- a/drivers/phy/Kconfig
 +++ b/drivers/phy/Kconfig
 @@ -15,6 +15,15 @@ config GENERIC_PHY
@@ -77,8 +72,6 @@ index f6ff76e..f2b458f 100644
  config PHY_BERLIN_USB
  	tristate "Marvell Berlin USB PHY Driver"
  	depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF
-diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
-index f03fa1f..0de09e1 100644
 --- a/drivers/phy/Makefile
 +++ b/drivers/phy/Makefile
 @@ -3,6 +3,7 @@
@@ -89,9 +82,6 @@ index f03fa1f..0de09e1 100644
  obj-$(CONFIG_PHY_BERLIN_USB)		+= phy-berlin-usb.o
  obj-$(CONFIG_PHY_BERLIN_SATA)		+= phy-berlin-sata.o
  obj-$(CONFIG_PHY_DM816X_USB)		+= phy-dm816x-usb.o
-diff --git a/drivers/phy/phy-bcm-ns-usb2.c b/drivers/phy/phy-bcm-ns-usb2.c
-new file mode 100644
-index 0000000..95ab6b2
 --- /dev/null
 +++ b/drivers/phy/phy-bcm-ns-usb2.c
 @@ -0,0 +1,137 @@
@@ -232,8 +222,6 @@ index 0000000..95ab6b2
 +module_platform_driver(bcm_ns_usb2_driver);
 +
 +MODULE_LICENSE("GPL v2");
-diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h
-index 0367c63..e6b41f4 100644
 --- a/include/linux/bcma/bcma.h
 +++ b/include/linux/bcma/bcma.h
 @@ -4,6 +4,7 @@
@@ -244,9 +232,6 @@ index 0367c63..e6b41f4 100644
  #include <linux/bcma/bcma_driver_chipcommon.h>
  #include <linux/bcma/bcma_driver_pci.h>
  #include <linux/bcma/bcma_driver_pcie2.h>
-diff --git a/include/linux/bcma/bcma_driver_arm_c9.h b/include/linux/bcma/bcma_driver_arm_c9.h
-new file mode 100644
-index 0000000..93bd73d
 --- /dev/null
 +++ b/include/linux/bcma/bcma_driver_arm_c9.h
 @@ -0,0 +1,15 @@
@@ -265,6 +250,3 @@ index 0000000..93bd73d
 +#define  BCMA_DMU_CRU_STRAPS_CTRL_4BYTE			0x00008000
 +
 +#endif /* LINUX_BCMA_DRIVER_ARM_C9_H_ */
--- 
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch b/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch
index 81144dc..ae3462f 100644
--- a/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch
+++ b/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch
@@ -12,11 +12,9 @@ Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
  drivers/phy/phy-bcm-ns-usb2.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/phy/phy-bcm-ns-usb2.c b/drivers/phy/phy-bcm-ns-usb2.c
-index 95ab6b2..58dff80 100644
 --- a/drivers/phy/phy-bcm-ns-usb2.c
 +++ b/drivers/phy/phy-bcm-ns-usb2.c
-@@ -109,8 +109,8 @@ static int bcm_ns_usb2_probe(struct platform_device *pdev)
+@@ -109,8 +109,8 @@ static int bcm_ns_usb2_probe(struct plat
  	}
  
  	usb2->phy = devm_phy_create(dev, NULL, &ops);
@@ -27,6 +25,3 @@ index 95ab6b2..58dff80 100644
  
  	phy_set_drvdata(usb2->phy, usb2);
  	platform_set_drvdata(pdev, usb2);
--- 
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-4.4/190-usb-xhci-plat-fix-adding-usb3-lpm-capable-quirk.patch b/target/linux/bcm53xx/patches-4.4/190-usb-xhci-plat-fix-adding-usb3-lpm-capable-quirk.patch
index c120829..e3e132c 100644
--- a/target/linux/bcm53xx/patches-4.4/190-usb-xhci-plat-fix-adding-usb3-lpm-capable-quirk.patch
+++ b/target/linux/bcm53xx/patches-4.4/190-usb-xhci-plat-fix-adding-usb3-lpm-capable-quirk.patch
@@ -50,7 +50,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
  	const struct hc_driver	*driver;
  	struct xhci_hcd		*xhci;
  	struct resource         *res;
-@@ -155,10 +161,6 @@ static int xhci_plat_probe(struct platfo
+@@ -158,10 +164,6 @@ static int xhci_plat_probe(struct platfo
  		goto disable_clk;
  	}
  
diff --git a/target/linux/brcm2708/patches-4.4/0221-bpf-add-skb_postpush_rcsum-and-fix-dev_forward_skb-o.patch b/target/linux/brcm2708/patches-4.4/0221-bpf-add-skb_postpush_rcsum-and-fix-dev_forward_skb-o.patch
index f6622d5..ee8548f 100644
--- a/target/linux/brcm2708/patches-4.4/0221-bpf-add-skb_postpush_rcsum-and-fix-dev_forward_skb-o.patch
+++ b/target/linux/brcm2708/patches-4.4/0221-bpf-add-skb_postpush_rcsum-and-fix-dev_forward_skb-o.patch
@@ -55,7 +55,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/net/core/filter.c
 +++ b/net/core/filter.c
-@@ -1293,8 +1293,9 @@ static u64 bpf_skb_store_bytes(u64 r1, u
+@@ -1291,8 +1291,9 @@ static u64 bpf_skb_store_bytes(u64 r1, u
  		/* skb_store_bits cannot return -EFAULT here */
  		skb_store_bits(skb, offset, ptr, len);
  
@@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	return 0;
  }
  
-@@ -1420,8 +1421,12 @@ static u64 bpf_clone_redirect(u64 r1, u6
+@@ -1415,8 +1416,12 @@ static u64 bpf_clone_redirect(u64 r1, u6
  	if (unlikely(!skb2))
  		return -ENOMEM;
  
@@ -81,7 +81,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	skb2->dev = dev;
  	skb_sender_cpu_clear(skb2);
-@@ -1464,8 +1469,12 @@ int skb_do_redirect(struct sk_buff *skb)
+@@ -1459,8 +1464,12 @@ int skb_do_redirect(struct sk_buff *skb)
  		return -EINVAL;
  	}
  
diff --git a/target/linux/brcm47xx/patches-4.4/999-wl_exports.patch b/target/linux/brcm47xx/patches-4.4/999-wl_exports.patch
index 9094ec8..ea59f4f 100644
--- a/target/linux/brcm47xx/patches-4.4/999-wl_exports.patch
+++ b/target/linux/brcm47xx/patches-4.4/999-wl_exports.patch
@@ -12,7 +12,7 @@
  static int cfe_env;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -60,6 +60,7 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -59,6 +59,7 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
diff --git a/target/linux/brcm63xx/patches-4.4/800-wl_exports.patch b/target/linux/brcm63xx/patches-4.4/800-wl_exports.patch
index 7f8720a..68d37c7 100644
--- a/target/linux/brcm63xx/patches-4.4/800-wl_exports.patch
+++ b/target/linux/brcm63xx/patches-4.4/800-wl_exports.patch
@@ -15,7 +15,7 @@
  	unsigned int check_len;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -60,6 +60,7 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -59,6 +59,7 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
diff --git a/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch b/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch
index a1e287c..b86c98d 100644
--- a/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch
+++ b/target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch
@@ -28,8 +28,6 @@ Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
  arch/arc/Makefile | 2 --
  1 file changed, 2 deletions(-)
 
-diff --git a/arch/arc/Makefile b/arch/arc/Makefile
-index aeb1902..209d845 100644
 --- a/arch/arc/Makefile
 +++ b/arch/arc/Makefile
 @@ -48,8 +48,6 @@ endif
@@ -41,6 +39,3 @@ index aeb1902..209d845 100644
  # By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok
  ifeq ($(atleast_gcc48),y)
  cflags-$(CONFIG_ARC_DW2_UNWIND)		+= -gdwarf-2
--- 
-2.5.5
-
diff --git a/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch b/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch
index bab0912..07fc097 100644
--- a/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch
+++ b/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch
@@ -31,7 +31,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  #endif
  unsigned int br_mdb_rehash_seq;
  
-@@ -649,7 +650,8 @@ struct net_bridge_port_group *br_multica
+@@ -652,7 +653,8 @@ struct net_bridge_port_group *br_multica
  			struct net_bridge_port *port,
  			struct br_ip *group,
  			struct net_bridge_port_group __rcu *next,
@@ -41,7 +41,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct net_bridge_port_group *p;
  
-@@ -664,12 +666,33 @@ struct net_bridge_port_group *br_multica
+@@ -667,12 +669,33 @@ struct net_bridge_port_group *br_multica
  	hlist_add_head(&p->mglist, &port->mglist);
  	setup_timer(&p->timer, br_multicast_port_group_expired,
  		    (unsigned long)p);
@@ -76,7 +76,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct net_bridge_mdb_entry *mp;
  	struct net_bridge_port_group *p;
-@@ -696,13 +719,13 @@ static int br_multicast_add_group(struct
+@@ -699,13 +722,13 @@ static int br_multicast_add_group(struct
  	for (pp = &mp->ports;
  	     (p = mlock_dereference(*pp, br)) != NULL;
  	     pp = &p->next) {
@@ -92,7 +92,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  	if (unlikely(!p))
  		goto err;
  	rcu_assign_pointer(*pp, p);
-@@ -721,7 +744,7 @@ err:
+@@ -724,7 +747,7 @@ err:
  static int br_ip4_multicast_add_group(struct net_bridge *br,
  				      struct net_bridge_port *port,
  				      __be32 group,
@@ -101,7 +101,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct br_ip br_group;
  
-@@ -732,14 +755,14 @@ static int br_ip4_multicast_add_group(st
+@@ -735,14 +758,14 @@ static int br_ip4_multicast_add_group(st
  	br_group.proto = htons(ETH_P_IP);
  	br_group.vid = vid;
  
@@ -118,7 +118,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct br_ip br_group;
  
-@@ -750,7 +773,7 @@ static int br_ip6_multicast_add_group(st
+@@ -753,7 +776,7 @@ static int br_ip6_multicast_add_group(st
  	br_group.proto = htons(ETH_P_IPV6);
  	br_group.vid = vid;
  
@@ -127,7 +127,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  }
  #endif
  
-@@ -995,6 +1018,7 @@ static int br_ip4_multicast_igmp3_report
+@@ -998,6 +1021,7 @@ static int br_ip4_multicast_igmp3_report
  					 struct sk_buff *skb,
  					 u16 vid)
  {
@@ -135,7 +135,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  	struct igmpv3_report *ih;
  	struct igmpv3_grec *grec;
  	int i;
-@@ -1035,12 +1059,13 @@ static int br_ip4_multicast_igmp3_report
+@@ -1038,12 +1062,13 @@ static int br_ip4_multicast_igmp3_report
  			continue;
  		}
  
@@ -151,7 +151,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  			if (err)
  				break;
  		}
-@@ -1055,6 +1080,7 @@ static int br_ip6_multicast_mld2_report(
+@@ -1058,6 +1083,7 @@ static int br_ip6_multicast_mld2_report(
  					struct sk_buff *skb,
  					u16 vid)
  {
@@ -159,7 +159,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  	struct icmp6hdr *icmp6h;
  	struct mld2_grec *grec;
  	int i;
-@@ -1106,10 +1132,10 @@ static int br_ip6_multicast_mld2_report(
+@@ -1109,10 +1135,10 @@ static int br_ip6_multicast_mld2_report(
  		     grec->grec_type == MLD2_MODE_IS_INCLUDE) &&
  		    ntohs(*nsrcs) == 0) {
  			br_ip6_multicast_leave_group(br, port, &grec->grec_mca,
@@ -172,7 +172,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  			if (!err)
  				break;
  		}
-@@ -1424,7 +1450,8 @@ br_multicast_leave_group(struct net_brid
+@@ -1427,7 +1453,8 @@ br_multicast_leave_group(struct net_brid
  			 struct net_bridge_port *port,
  			 struct br_ip *group,
  			 struct bridge_mcast_other_query *other_query,
@@ -182,7 +182,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct net_bridge_mdb_htable *mdb;
  	struct net_bridge_mdb_entry *mp;
-@@ -1448,7 +1475,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1451,7 +1478,7 @@ br_multicast_leave_group(struct net_brid
  		for (pp = &mp->ports;
  		     (p = mlock_dereference(*pp, br)) != NULL;
  		     pp = &p->next) {
@@ -191,7 +191,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  				continue;
  
  			rcu_assign_pointer(*pp, p->next);
-@@ -1511,7 +1538,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1514,7 +1541,7 @@ br_multicast_leave_group(struct net_brid
  	for (p = mlock_dereference(mp->ports, br);
  	     p != NULL;
  	     p = mlock_dereference(p->next, br)) {
@@ -200,7 +200,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  			continue;
  
  		if (!hlist_unhashed(&p->mglist) &&
-@@ -1529,8 +1556,8 @@ out:
+@@ -1532,8 +1559,8 @@ out:
  
  static void br_ip4_multicast_leave_group(struct net_bridge *br,
  					 struct net_bridge_port *port,
@@ -211,7 +211,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct br_ip br_group;
  	struct bridge_mcast_own_query *own_query;
-@@ -1545,14 +1572,14 @@ static void br_ip4_multicast_leave_group
+@@ -1548,14 +1575,14 @@ static void br_ip4_multicast_leave_group
  	br_group.vid = vid;
  
  	br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
@@ -228,7 +228,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
  	struct br_ip br_group;
  	struct bridge_mcast_own_query *own_query;
-@@ -1567,7 +1594,7 @@ static void br_ip6_multicast_leave_group
+@@ -1570,7 +1597,7 @@ static void br_ip6_multicast_leave_group
  	br_group.vid = vid;
  
  	br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
@@ -237,7 +237,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  }
  #endif
  
-@@ -1576,6 +1603,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1579,6 +1606,7 @@ static int br_multicast_ipv4_rcv(struct
  				 struct sk_buff *skb,
  				 u16 vid)
  {
@@ -245,7 +245,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  	struct sk_buff *skb_trimmed = NULL;
  	struct igmphdr *ih;
  	int err;
-@@ -1592,12 +1620,13 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1595,12 +1623,13 @@ static int br_multicast_ipv4_rcv(struct
  
  	BR_INPUT_SKB_CB(skb)->igmp = 1;
  	ih = igmp_hdr(skb);
@@ -260,7 +260,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  		break;
  	case IGMPV3_HOST_MEMBERSHIP_REPORT:
  		err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
-@@ -1606,7 +1635,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1609,7 +1638,7 @@ static int br_multicast_ipv4_rcv(struct
  		err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
  		break;
  	case IGMP_HOST_LEAVE_MESSAGE:
@@ -269,7 +269,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  		break;
  	}
  
-@@ -1622,6 +1651,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1625,6 +1654,7 @@ static int br_multicast_ipv6_rcv(struct
  				 struct sk_buff *skb,
  				 u16 vid)
  {
@@ -277,7 +277,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  	struct sk_buff *skb_trimmed = NULL;
  	struct mld_msg *mld;
  	int err;
-@@ -1641,8 +1671,9 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1644,8 +1674,9 @@ static int br_multicast_ipv6_rcv(struct
  
  	switch (mld->mld_type) {
  	case ICMPV6_MGM_REPORT:
@@ -288,7 +288,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  		break;
  	case ICMPV6_MLD2_REPORT:
  		err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
-@@ -1651,7 +1682,8 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1654,7 +1685,8 @@ static int br_multicast_ipv6_rcv(struct
  		err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
  		break;
  	case ICMPV6_MGM_REDUCTION:
@@ -310,7 +310,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  };
  
  struct net_bridge_mdb_entry
-@@ -554,7 +556,8 @@ void br_multicast_free_pg(struct rcu_hea
+@@ -555,7 +557,8 @@ void br_multicast_free_pg(struct rcu_hea
  struct net_bridge_port_group *
  br_multicast_new_port_group(struct net_bridge_port *port, struct br_ip *group,
  			    struct net_bridge_port_group __rcu *next,
diff --git a/target/linux/generic/patches-4.4/646-bridge_fix_ipv6_mc_snooping_if_bridge_has_no_ipv6_address.patch b/target/linux/generic/patches-4.4/646-bridge_fix_ipv6_mc_snooping_if_bridge_has_no_ipv6_address.patch
deleted file mode 100644
index 4388cda..0000000
--- a/target/linux/generic/patches-4.4/646-bridge_fix_ipv6_mc_snooping_if_bridge_has_no_ipv6_address.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From: daniel <daniel at dd-wrt.com>
-Date: Fri, 24 Jun 2016 12:35:18 +0200
-Subject: [PATCH] Bridge: Fix ipv6 mc snooping if bridge has no ipv6 address
-
-The bridge is falsly dropping ipv6 mulitcast packets if there is:
- 1. No ipv6 address assigned on the brigde.
- 2. No external mld querier present.
- 3. The internal querier enabled.
-
-When the bridge fails to build mld queries, because it has no
-ipv6 address, it slilently returns, but keeps the local querier enabled.
-This specific case causes confusing packet loss.
-
-Ipv6 multicast snooping can only work if:
- a) An external querier is present
- OR
- b) The bridge has an ipv6 address an is capable of sending own queries
-
-Otherwise it has to forward/flood the ipv6 multicast traffic,
-because snooping cannot work.
-
-This patch fixes the issue by adding a flag to the bridge struct that
-indicates that there is currently no ipv6 address assinged to the bridge
-and returns a false state for the local querier in
-__br_multicast_querier_exists().
-
-Special thanks to Linus Lüssing.
-
-Fixes: d1d81d4c3dd8 ("bridge: check return value of ipv6_dev_get_saddr()")
-Signed-off-by: Daniel Danzberger <daniel at dd-wrt.com>
-Acked-by: Linus Lüssing <linus.luessing at c0d3.blue>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- net/bridge/br_multicast.c |  4 ++++
- net/bridge/br_private.h   | 23 +++++++++++++++++++----
- 2 files changed, 23 insertions(+), 4 deletions(-)
-
-diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
-index c8c2a8a..d063a10 100644
---- a/net/bridge/br_multicast.c
-+++ b/net/bridge/br_multicast.c
-@@ -465,8 +465,11 @@ static struct sk_buff *br_ip6_multicast_alloc_query(struct net_bridge *br,
- 	if (ipv6_dev_get_saddr(dev_net(br->dev), br->dev, &ip6h->daddr, 0,
- 			       &ip6h->saddr)) {
- 		kfree_skb(skb);
-+		br->has_ipv6_addr = 0;
- 		return NULL;
- 	}
-+
-+	br->has_ipv6_addr = 1;
- 	ipv6_eth_mc_map(&ip6h->daddr, eth->h_dest);
- 
- 	hopopt = (u8 *)(ip6h + 1);
-@@ -1768,6 +1771,7 @@ void br_multicast_init(struct net_bridge *br)
- 	br->ip6_other_query.delay_time = 0;
- 	br->ip6_querier.port = NULL;
- #endif
-+	br->has_ipv6_addr = 1;
- 
- 	spin_lock_init(&br->multicast_lock);
- 	setup_timer(&br->multicast_router_timer,
-diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
-index e24abfd..3dd7e2c 100644
---- a/net/bridge/br_private.h
-+++ b/net/bridge/br_private.h
-@@ -303,6 +303,7 @@ struct net_bridge
- 	u8				multicast_disabled:1;
- 	u8				multicast_querier:1;
- 	u8				multicast_query_use_ifaddr:1;
-+	u8				has_ipv6_addr:1;
- 
- 	u32				hash_elasticity;
- 	u32				hash_max;
-@@ -577,10 +578,22 @@ static inline bool br_multicast_is_router(struct net_bridge *br)
- 
- static inline bool
- __br_multicast_querier_exists(struct net_bridge *br,
--			      struct bridge_mcast_other_query *querier)
-+				struct bridge_mcast_other_query *querier,
-+				const bool is_ipv6)
- {
-+	bool own_querier_enabled;
-+
-+	if (br->multicast_querier) {
-+		if (is_ipv6 && !br->has_ipv6_addr)
-+			own_querier_enabled = false;
-+		else
-+			own_querier_enabled = true;
-+	} else {
-+		own_querier_enabled = false;
-+	}
-+
- 	return time_is_before_jiffies(querier->delay_time) &&
--	       (br->multicast_querier || timer_pending(&querier->timer));
-+	       (own_querier_enabled || timer_pending(&querier->timer));
- }
- 
- static inline bool br_multicast_querier_exists(struct net_bridge *br,
-@@ -588,10 +601,12 @@ static inline bool br_multicast_querier_exists(struct net_bridge *br,
- {
- 	switch (eth->h_proto) {
- 	case (htons(ETH_P_IP)):
--		return __br_multicast_querier_exists(br, &br->ip4_other_query);
-+		return __br_multicast_querier_exists(br,
-+			&br->ip4_other_query, false);
- #if IS_ENABLED(CONFIG_IPV6)
- 	case (htons(ETH_P_IPV6)):
--		return __br_multicast_querier_exists(br, &br->ip6_other_query);
-+		return __br_multicast_querier_exists(br,
-+			&br->ip6_other_query, true);
- #endif
- 	default:
- 		return false;
diff --git a/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch b/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch
index 0aae481..c7aeb49 100644
--- a/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch
+++ b/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch
@@ -52,11 +52,9 @@ Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
  drivers/usb/core/urb.c | 5 -----
  1 file changed, 5 deletions(-)
 
-diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
-index 3d27477..a317e1e 100644
 --- a/drivers/usb/core/urb.c
 +++ b/drivers/usb/core/urb.c
-@@ -443,11 +443,6 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
+@@ -443,11 +443,6 @@ int usb_submit_urb(struct urb *urb, gfp_
  	 * cause problems in HCDs if they get it wrong.
  	 */
  
@@ -68,6 +66,3 @@ index 3d27477..a317e1e 100644
  	/* Check against a simple/standard policy */
  	allowed = (URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT | URB_DIR_MASK |
  			URB_FREE_BUFFER);
--- 
-2.5.5
-
diff --git a/target/linux/imx6/patches-4.4/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch b/target/linux/imx6/patches-4.4/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch
index a179900..2b1cf96 100644
--- a/target/linux/imx6/patches-4.4/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch
+++ b/target/linux/imx6/patches-4.4/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch
@@ -94,7 +94,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  #include <linux/delay.h>
  #include <linux/interrupt.h>
  #include <linux/ip.h>
-@@ -2223,6 +2224,126 @@ static s32 igb_init_i2c(struct igb_adapt
+@@ -2217,6 +2218,126 @@ static s32 igb_init_i2c(struct igb_adapt
  	return status;
  }
  
@@ -221,7 +221,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  /**
   *  igb_probe - Device Initialization Routine
   *  @pdev: PCI device information struct
-@@ -2645,6 +2766,13 @@ static int igb_probe(struct pci_dev *pde
+@@ -2639,6 +2760,13 @@ static int igb_probe(struct pci_dev *pde
  		}
  	}
  	pm_runtime_put_noidle(&pdev->dev);
@@ -235,7 +235,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  	return 0;
  
  err_register:
-@@ -2792,6 +2920,10 @@ static void igb_remove(struct pci_dev *p
+@@ -2786,6 +2914,10 @@ static void igb_remove(struct pci_dev *p
  	struct e1000_hw *hw = &adapter->hw;
  
  	pm_runtime_get_noresume(&pdev->dev);
@@ -246,7 +246,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  #ifdef CONFIG_IGB_HWMON
  	igb_sysfs_exit(adapter);
  #endif
-@@ -3108,6 +3240,12 @@ static int __igb_open(struct net_device
+@@ -3102,6 +3234,12 @@ static int __igb_open(struct net_device
  	if (!resuming)
  		pm_runtime_put(&pdev->dev);
  
@@ -259,7 +259,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  	/* start the watchdog. */
  	hw->mac.get_link_status = 1;
  	schedule_work(&adapter->watchdog_task);
-@@ -7099,21 +7237,41 @@ void igb_alloc_rx_buffers(struct igb_rin
+@@ -7093,21 +7231,41 @@ void igb_alloc_rx_buffers(struct igb_rin
  static int igb_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
  {
  	struct igb_adapter *adapter = netdev_priv(netdev);
diff --git a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
index f344be6..1c4816f 100644
--- a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
+++ b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
@@ -1428,7 +1428,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3065,17 +3066,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3083,17 +3084,22 @@ static u32 xhci_td_remainder(struct xhci
  {
  	u32 maxp, total_packet_count;
  
@@ -1455,7 +1455,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	/* Queueing functions don't count the current TRB into transferred */
  	return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3463,7 +3469,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3481,7 +3487,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  		field |= 0x1;
  
  	/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1487,7 +1487,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	writel(temp, &xhci->ir_set->irq_control);
  
  	/* Set the HCD state before we enable the irqs */
-@@ -1701,6 +1706,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1704,6 +1709,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
  	xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -1497,7 +1497,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
  			(unsigned int) ep->desc.bEndpointAddress,
  			udev->slot_id,
-@@ -1796,6 +1804,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1799,6 +1807,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
  		return -ENOMEM;
  	}
  
diff --git a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
index 4107d49..1cac9a2 100644
--- a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
+++ b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
@@ -1420,7 +1420,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3065,17 +3066,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3083,17 +3084,22 @@ static u32 xhci_td_remainder(struct xhci
  {
  	u32 maxp, total_packet_count;
  
@@ -1447,7 +1447,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	/* Queueing functions don't count the current TRB into transferred */
  	return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3463,7 +3469,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3481,7 +3487,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  		field |= 0x1;
  
  	/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1479,7 +1479,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	writel(temp, &xhci->ir_set->irq_control);
  
  	/* Set the HCD state before we enable the irqs */
-@@ -1701,6 +1706,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1704,6 +1709,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
  	xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -1489,7 +1489,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
  			(unsigned int) ep->desc.bEndpointAddress,
  			udev->slot_id,
-@@ -1796,6 +1804,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1799,6 +1807,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
  		return -ENOMEM;
  	}
  
diff --git a/target/linux/ramips/patches-4.4/0085-pinmux-util.patch b/target/linux/ramips/patches-4.4/0085-pinmux-util.patch
index 4acbc33..e2f1d60 100644
--- a/target/linux/ramips/patches-4.4/0085-pinmux-util.patch
+++ b/target/linux/ramips/patches-4.4/0085-pinmux-util.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
-@@ -176,7 +176,7 @@
+@@ -176,7 +176,7 @@ static struct rt2880_pmx_func spi_cs1_gr
  
  static struct rt2880_pmx_func spis_grp_mt7628[] = {
  	FUNC("pwm", 3, 14, 4),
@@ -9,7 +9,7 @@
  	FUNC("gpio", 1, 14, 4),
  	FUNC("spis", 0, 14, 4),
  };
-@@ -190,28 +190,28 @@
+@@ -190,28 +190,28 @@ static struct rt2880_pmx_func gpio_grp_m
  
  static struct rt2880_pmx_func p4led_kn_grp_mt7628[] = {
  	FUNC("jtag", 3, 30, 1),
@@ -42,7 +42,7 @@
  	FUNC("gpio", 1, 33, 1),
  	FUNC("p1led_kn", 0, 33, 1),
  };
-@@ -232,28 +232,28 @@
+@@ -232,28 +232,28 @@ static struct rt2880_pmx_func wled_kn_gr
  
  static struct rt2880_pmx_func p4led_an_grp_mt7628[] = {
  	FUNC("jtag", 3, 39, 1),
diff --git a/target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch b/target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch
index 46b1a6c..8bb0352 100644
--- a/target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch
+++ b/target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mmc/host/mtk-mmc/sd.c
 +++ b/drivers/mmc/host/mtk-mmc/sd.c
-@@ -195,7 +195,7 @@
+@@ -195,7 +195,7 @@ struct msdc_hw msdc0_hw = {
  	.dat_drv        = 4,
  	.data_pins      = 4,
  	.data_offset    = 0,
@@ -9,7 +9,7 @@
  //	.flags          = MSDC_SYS_SUSPEND | MSDC_WP_PIN_EN | MSDC_CD_PIN_EN | MSDC_REMOVABLE,
  };
  
-@@ -2746,6 +2746,9 @@
+@@ -2746,6 +2746,9 @@ static int msdc_drv_probe(struct platfor
      int ret, irq;
   
      pdev->dev.platform_data = &msdc0_hw;
diff --git a/target/linux/ramips/patches-4.4/0105-set_mt7621_soc_type.patch b/target/linux/ramips/patches-4.4/0105-set_mt7621_soc_type.patch
index 0ffe825..9896ebb 100644
--- a/target/linux/ramips/patches-4.4/0105-set_mt7621_soc_type.patch
+++ b/target/linux/ramips/patches-4.4/0105-set_mt7621_soc_type.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ralink/mt7621.c
 +++ b/arch/mips/ralink/mt7621.c
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ void prom_soc_init(struct ralink_soc_inf
  	} else {
  		panic("mt7621: unknown SoC, n0:%08x n1:%08x\n", n0, n1);
  	}
diff --git a/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch b/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
index c5e73d5..67e9060 100644
--- a/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
+++ b/target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/mediatek/mt7530.c
 +++ b/drivers/net/ethernet/mediatek/mt7530.c
-@@ -539,6 +539,7 @@
+@@ -539,6 +539,7 @@ mt7530_apply_config(struct switch_dev *d
  		u8 etags = priv->vlan_entries[i].etags;
  		u32 val;
  
@@ -8,7 +8,7 @@
  		/* vid of vlan */
  		val = mt7530_r32(priv, REG_ESW_VLAN_VTIM(i));
  		if (i % 2 == 0) {
-@@ -549,7 +550,7 @@
+@@ -549,7 +550,7 @@ mt7530_apply_config(struct switch_dev *d
  			val |= (vid << 12);
  		}
  		mt7530_w32(priv, REG_ESW_VLAN_VTIM(i), val);
@@ -17,7 +17,7 @@
  		/* vlan port membership */
  		if (member)
  			mt7530_w32(priv, REG_ESW_VLAN_VAWD1, REG_ESW_VLAN_VAWD1_IVL_MAC |
-@@ -569,7 +570,11 @@
+@@ -569,7 +570,11 @@ mt7530_apply_config(struct switch_dev *d
  		mt7530_w32(priv, REG_ESW_VLAN_VAWD2, val);
  
  		/* write to vlan table */
diff --git a/target/linux/ramips/patches-4.4/0520-esw-gmac.patch b/target/linux/ramips/patches-4.4/0520-esw-gmac.patch
index 9d4cd3f..ae5fa16 100644
--- a/target/linux/ramips/patches-4.4/0520-esw-gmac.patch
+++ b/target/linux/ramips/patches-4.4/0520-esw-gmac.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/mediatek/esw_rt3050.c
 +++ b/drivers/net/ethernet/mediatek/esw_rt3050.c
-@@ -221,6 +221,8 @@
+@@ -221,6 +221,8 @@ struct rt305x_esw {
  
  	unsigned char		port_map;
  	unsigned char		port_disable;
@@ -9,7 +9,7 @@
  	unsigned int		reg_led_polarity;
  
  	struct switch_dev	swdev;
-@@ -452,7 +454,10 @@
+@@ -452,7 +454,10 @@ static void esw_hw_init(struct rt305x_es
  		      (RT305X_ESW_PORTS_NOCPU << RT305X_ESW_POC2_UNTAG_EN_S)),
  		RT305X_ESW_REG_POC2);
  
@@ -21,7 +21,7 @@
  
  	/* 300s aging timer, max packet len 1536, broadcast storm prevention
  	 * disabled, disable collision abort, mac xor48 hash, 10 packet back
-@@ -475,7 +480,10 @@
+@@ -475,7 +480,10 @@ static void esw_hw_init(struct rt305x_es
  	 * port5: disabled
  	 * port6: enabled, gige, full-duplex, rx/tx-flow-control
  	 */
@@ -33,7 +33,7 @@
  	esw_w32(esw, 0x00000000, RT305X_ESW_REG_FPA);
  
  	/* Force Link/Activity on ports */
-@@ -1361,6 +1369,14 @@
+@@ -1361,6 +1369,14 @@ static int esw_probe(struct platform_dev
  	if (port_disable)
  		esw->port_disable = be32_to_cpu(*port_disable);
  
@@ -48,7 +48,7 @@
  	reg_init = of_get_property(np, "mediatek,led_polarity", NULL);
  	if (reg_init)
  		esw->reg_led_polarity = be32_to_cpu(*reg_init);
-@@ -1386,6 +1402,18 @@
+@@ -1386,6 +1402,18 @@ static int esw_probe(struct platform_dev
  
  	esw_hw_init(esw);
  
diff --git a/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch b/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch
index 500625b..e9e72ad 100644
--- a/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch
+++ b/target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/ralink/mt7620.c
 +++ b/arch/mips/ralink/mt7620.c
-@@ -509,6 +509,7 @@ void __init ralink_clk_init(void)
+@@ -513,6 +513,7 @@ void __init ralink_clk_init(void)
  	unsigned long sys_rate;
  	unsigned long dram_rate;
  	unsigned long periph_rate;
@@ -8,7 +8,7 @@
  
  	xtal_rate = mt7620_get_xtal_rate();
  
-@@ -523,6 +524,7 @@ void __init ralink_clk_init(void)
+@@ -527,6 +528,7 @@ void __init ralink_clk_init(void)
  			cpu_rate = MHZ(575);
  		dram_rate = sys_rate = cpu_rate / 3;
  		periph_rate = MHZ(40);
@@ -16,7 +16,7 @@
  
  		ralink_clk_add("10000d00.uartlite", periph_rate);
  		ralink_clk_add("10000e00.uartlite", periph_rate);
-@@ -534,6 +536,7 @@ void __init ralink_clk_init(void)
+@@ -538,6 +540,7 @@ void __init ralink_clk_init(void)
  		dram_rate = mt7620_get_dram_rate(pll_rate);
  		sys_rate = mt7620_get_sys_rate(cpu_rate);
  		periph_rate = mt7620_get_periph_rate(xtal_rate);
@@ -24,7 +24,7 @@
  
  		pr_debug(RFMT("XTAL") RFMT("CPU_PLL") RFMT("PLL"),
  			 RINT(xtal_rate), RFRAC(xtal_rate),
-@@ -555,6 +558,8 @@ void __init ralink_clk_init(void)
+@@ -559,6 +562,8 @@ void __init ralink_clk_init(void)
  	ralink_clk_add("cpu", cpu_rate);
  	ralink_clk_add("10000100.timer", periph_rate);
  	ralink_clk_add("10000120.watchdog", periph_rate);



More information about the lede-commits mailing list