summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2016-07-13 12:07:08 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2016-07-13 15:39:15 +0200
commitefa1960abb390d696704d029507dff671cc271fd (patch)
treefa9fb6267c4357fe51051dd5545ba2ce81b3e1b8
parentd6b3b44d9798dfd6aba3758843acbf310b98a853 (diff)
downloadmtk-20170518-efa1960abb390d696704d029507dff671cc271fd.zip
mtk-20170518-efa1960abb390d696704d029507dff671cc271fd.tar.gz
mtk-20170518-efa1960abb390d696704d029507dff671cc271fd.tar.bz2
kernel: update kernel 4.4 to version 4.4.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--include/kernel-version.mk4
-rw-r--r--target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch18
-rw-r--r--target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch7
-rw-r--r--target/linux/bcm53xx/patches-4.4/190-usb-xhci-plat-fix-adding-usb3-lpm-capable-quirk.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0221-bpf-add-skb_postpush_rcsum-and-fix-dev_forward_skb-o.patch6
-rw-r--r--target/linux/brcm47xx/patches-4.4/999-wl_exports.patch2
-rw-r--r--target/linux/brcm63xx/patches-4.4/800-wl_exports.patch2
-rw-r--r--target/linux/generic/patches-4.4/095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch5
-rw-r--r--target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch46
-rw-r--r--target/linux/generic/patches-4.4/646-bridge_fix_ipv6_mc_snooping_if_bridge_has_no_ipv6_address.patch113
-rw-r--r--target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch7
-rw-r--r--target/linux/imx6/patches-4.4/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch10
-rw-r--r--target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch8
-rw-r--r--target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch8
-rw-r--r--target/linux/ramips/patches-4.4/0085-pinmux-util.patch6
-rw-r--r--target/linux/ramips/patches-4.4/0085-sdhci-no-wp.patch4
-rw-r--r--target/linux/ramips/patches-4.4/0105-set_mt7621_soc_type.patch2
-rw-r--r--target/linux/ramips/patches-4.4/0519-gsw_mt7621.patch6
-rw-r--r--target/linux/ramips/patches-4.4/0520-esw-gmac.patch10
-rw-r--r--target/linux/ramips/patches-4.4/0720-arch-mips-ralink-add-i2c-clocks.patch8
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@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@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@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@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@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@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@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@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@dd-wrt.com>
-Acked-by: Linus Lüssing <linus.luessing@c0d3.blue>
-Signed-off-by: David S. Miller <davem@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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);