kernel: update kernel 4.4 to version 4.4.15

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
owl
Hauke Mehrtens 2016-07-13 12:07:08 +02:00
parent d6b3b44d97
commit efa1960abb
20 changed files with 64 additions and 210 deletions

View File

@ -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)))

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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,

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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),

View File

@ -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;

View File

@ -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);
}

View File

@ -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 */

View File

@ -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);

View File

@ -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);