Skip to content

Commit

Permalink
kernel: update kernel 4.4 to version 4.4.32
Browse files Browse the repository at this point in the history
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
  • Loading branch information
stintel committed Nov 16, 2016
1 parent c437a67 commit 8e47655
Show file tree
Hide file tree
Showing 13 changed files with 70 additions and 84 deletions.
4 changes: 2 additions & 2 deletions include/kernel-version.mk
Expand Up @@ -4,11 +4,11 @@ LINUX_RELEASE?=1

LINUX_VERSION-3.18 = .43
LINUX_VERSION-4.1 = .34
LINUX_VERSION-4.4 = .31
LINUX_VERSION-4.4 = .32

LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a
LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c
LINUX_KERNEL_MD5SUM-4.4.31 = 29d9b0b1aa4dec3eb1a9edf1b84e79c5
LINUX_KERNEL_MD5SUM-4.4.32 = 63e50dd0c477fe9ea450a358fe39485b

ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
Expand Down
Expand Up @@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>

#include "xhci.h"
#include "xhci-trace.h"
@@ -209,6 +211,458 @@ static void xhci_pme_acpi_rtd3_enable(st
@@ -211,6 +213,458 @@ static void xhci_pme_acpi_rtd3_enable(st
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
#endif /* CONFIG_ACPI */

Expand Down Expand Up @@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
/* called during probe() after chip reset completes */
static int xhci_pci_setup(struct usb_hcd *hcd)
{
@@ -248,6 +702,22 @@ static int xhci_pci_probe(struct pci_dev
@@ -250,6 +704,22 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver;
struct usb_hcd *hcd;

Expand All @@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
driver = (struct hc_driver *)id->driver_data;

/* Prevent runtime suspending between USB-2 and USB-3 initialization */
@@ -305,6 +775,16 @@ static void xhci_pci_remove(struct pci_d
@@ -307,6 +777,16 @@ static void xhci_pci_remove(struct pci_d
{
struct xhci_hcd *xhci;

Expand Down
Expand Up @@ -13,7 +13,7 @@ produce a noisy warning.

--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -176,7 +176,7 @@ static void xhci_pci_quirks(struct devic
@@ -178,7 +178,7 @@ static void xhci_pci_quirks(struct devic
}
if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
pdev->device == 0x0015)
Expand Down
Expand Up @@ -38,7 +38,11 @@
static int __dwc2_lowlevel_hw_enable(struct dwc2_hsotg *hsotg)
{
struct platform_device *pdev = to_platform_device(hsotg->dev);
@@ -309,2 +340,3 @@ static int dwc2_driver_remove(struct pla
@@ -307,6 +338,7 @@ static int dwc2_driver_remove(struct pla
}

static const struct of_device_id dwc2_of_match_table[] = {
+ { .compatible = "amcc,usb-otg-405ex", .data = &params_amcc_dwc_otg },
{ .compatible = "brcm,bcm2835-usb", .data = &params_bcm2835 },
{ .compatible = "rockchip,rk3066-usb", .data = &params_rk3066 },
{ .compatible = "snps,dwc2", .data = NULL },
Expand Up @@ -310,7 +310,7 @@
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1386,7 +1386,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
@@ -1388,7 +1388,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str

dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
Expand Down Expand Up @@ -838,7 +838,7 @@

--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3819,14 +3819,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -3818,14 +3818,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

Expand Down
Expand Up @@ -10,7 +10,7 @@ Subject: [PATCH] config: Enable CONFIG_MEMCG, but leave it disabled (due to

--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5307,7 +5307,7 @@ int __init cgroup_init_early(void)
@@ -5310,7 +5310,7 @@ int __init cgroup_init_early(void)
return 0;
}

Expand All @@ -19,7 +19,7 @@ Subject: [PATCH] config: Enable CONFIG_MEMCG, but leave it disabled (due to

/**
* cgroup_init - cgroup initialization
@@ -5803,6 +5803,27 @@ static int __init cgroup_disable(char *s
@@ -5806,6 +5806,27 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

Expand Down
Expand Up @@ -10,28 +10,9 @@ Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
include/net/sch_generic.h | 9 +++++++++
net/sched/cls_bpf.c | 6 +-----
2 files changed, 10 insertions(+), 5 deletions(-)

--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -409,6 +409,15 @@ bool tcf_destroy(struct tcf_proto *tp, b
void tcf_destroy_chain(struct tcf_proto __rcu **fl);
int skb_do_redirect(struct sk_buff *);

+static inline bool skb_at_tc_ingress(const struct sk_buff *skb)
+{
+#ifdef CONFIG_NET_CLS_ACT
+ return G_TC_AT(skb->tc_verd) & AT_INGRESS;
+#else
+ return false;
+#endif
+}
+
/* Reset all TX qdiscs greater then index of a device. */
static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i)
{
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -79,12 +79,8 @@ static int cls_bpf_classify(struct sk_bu
Expand Down
16 changes: 8 additions & 8 deletions target/linux/generic/patches-4.4/630-packet_socket_type.patch
Expand Up @@ -26,23 +26,23 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1764,6 +1764,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1763,6 +1763,7 @@ static int packet_rcv_spkt(struct sk_buf
{
struct sock *sk;
struct sockaddr_pkt *spkt;
+ struct packet_sock *po;

/*
* When we registered the protocol we saved the socket in the data
@@ -1771,6 +1772,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1770,6 +1771,7 @@ static int packet_rcv_spkt(struct sk_buf
*/

sk = pt->af_packet_priv;
+ po = pkt_sk(sk);

/*
* Yank back the headers [hope the device set this
@@ -1783,7 +1785,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1782,7 +1784,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop.
*/

Expand All @@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out;

if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -1986,12 +1988,12 @@ static int packet_rcv(struct sk_buff *sk
@@ -1985,12 +1987,12 @@ static int packet_rcv(struct sk_buff *sk
int skb_len = skb->len;
unsigned int snaplen, res;

Expand All @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;

@@ -2111,12 +2113,12 @@ static int tpacket_rcv(struct sk_buff *s
@@ -2110,12 +2112,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);

Expand All @@ -83,15 +83,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;

@@ -3092,6 +3094,7 @@ static int packet_create(struct net *net
@@ -3091,6 +3093,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
+ po->pkt_type = PACKET_MASK_ANY & ~(1 << PACKET_LOOPBACK);

if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3708,6 +3711,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3707,6 +3710,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
Expand All @@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -3760,6 +3773,13 @@ static int packet_getsockopt(struct sock
@@ -3759,6 +3772,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
Expand Down
Expand Up @@ -127,15 +127,15 @@ Implement optinal multicast->unicast conversion for igmp snooping
}
#endif

@@ -998,6 +1021,7 @@ static int br_ip4_multicast_igmp3_report
@@ -1003,6 +1026,7 @@ static int br_ip4_multicast_igmp3_report
struct sk_buff *skb,
u16 vid)
{
+ const unsigned char *src;
struct igmpv3_report *ih;
struct igmpv3_grec *grec;
int i;
@@ -1038,12 +1062,13 @@ static int br_ip4_multicast_igmp3_report
@@ -1043,12 +1067,13 @@ static int br_ip4_multicast_igmp3_report
continue;
}

Expand All @@ -151,15 +151,15 @@ Implement optinal multicast->unicast conversion for igmp snooping
if (err)
break;
}
@@ -1058,6 +1083,7 @@ static int br_ip6_multicast_mld2_report(
@@ -1063,6 +1088,7 @@ static int br_ip6_multicast_mld2_report(
struct sk_buff *skb,
u16 vid)
{
+ const unsigned char *src = eth_hdr(skb)->h_source;
struct icmp6hdr *icmp6h;
struct mld2_grec *grec;
int i;
@@ -1109,10 +1135,10 @@ static int br_ip6_multicast_mld2_report(
@@ -1114,10 +1140,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,
Expand All @@ -172,7 +172,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
if (err)
break;
}
@@ -1427,7 +1453,8 @@ br_multicast_leave_group(struct net_brid
@@ -1432,7 +1458,8 @@ br_multicast_leave_group(struct net_brid
struct net_bridge_port *port,
struct br_ip *group,
struct bridge_mcast_other_query *other_query,
Expand All @@ -182,7 +182,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
{
struct net_bridge_mdb_htable *mdb;
struct net_bridge_mdb_entry *mp;
@@ -1451,7 +1478,7 @@ br_multicast_leave_group(struct net_brid
@@ -1456,7 +1483,7 @@ br_multicast_leave_group(struct net_brid
for (pp = &mp->ports;
(p = mlock_dereference(*pp, br)) != NULL;
pp = &p->next) {
Expand All @@ -191,7 +191,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
continue;

rcu_assign_pointer(*pp, p->next);
@@ -1514,7 +1541,7 @@ br_multicast_leave_group(struct net_brid
@@ -1519,7 +1546,7 @@ br_multicast_leave_group(struct net_brid
for (p = mlock_dereference(mp->ports, br);
p != NULL;
p = mlock_dereference(p->next, br)) {
Expand All @@ -200,7 +200,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
continue;

if (!hlist_unhashed(&p->mglist) &&
@@ -1532,8 +1559,8 @@ out:
@@ -1537,8 +1564,8 @@ out:

static void br_ip4_multicast_leave_group(struct net_bridge *br,
struct net_bridge_port *port,
Expand All @@ -211,7 +211,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
{
struct br_ip br_group;
struct bridge_mcast_own_query *own_query;
@@ -1548,14 +1575,14 @@ static void br_ip4_multicast_leave_group
@@ -1553,14 +1580,14 @@ static void br_ip4_multicast_leave_group
br_group.vid = vid;

br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
Expand All @@ -228,7 +228,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
{
struct br_ip br_group;
struct bridge_mcast_own_query *own_query;
@@ -1570,7 +1597,7 @@ static void br_ip6_multicast_leave_group
@@ -1575,7 +1602,7 @@ static void br_ip6_multicast_leave_group
br_group.vid = vid;

br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
Expand All @@ -237,15 +237,15 @@ Implement optinal multicast->unicast conversion for igmp snooping
}
#endif

@@ -1579,6 +1606,7 @@ static int br_multicast_ipv4_rcv(struct
@@ -1584,6 +1611,7 @@ static int br_multicast_ipv4_rcv(struct
struct sk_buff *skb,
u16 vid)
{
+ const unsigned char *src;
struct sk_buff *skb_trimmed = NULL;
struct igmphdr *ih;
int err;
@@ -1595,12 +1623,13 @@ static int br_multicast_ipv4_rcv(struct
@@ -1600,12 +1628,13 @@ static int br_multicast_ipv4_rcv(struct

BR_INPUT_SKB_CB(skb)->igmp = 1;
ih = igmp_hdr(skb);
Expand All @@ -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);
@@ -1609,7 +1638,7 @@ static int br_multicast_ipv4_rcv(struct
@@ -1614,7 +1643,7 @@ static int br_multicast_ipv4_rcv(struct
err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
break;
case IGMP_HOST_LEAVE_MESSAGE:
Expand All @@ -269,15 +269,15 @@ Implement optinal multicast->unicast conversion for igmp snooping
break;
}

@@ -1625,6 +1654,7 @@ static int br_multicast_ipv6_rcv(struct
@@ -1630,6 +1659,7 @@ static int br_multicast_ipv6_rcv(struct
struct sk_buff *skb,
u16 vid)
{
+ const unsigned char *src;
struct sk_buff *skb_trimmed = NULL;
struct mld_msg *mld;
int err;
@@ -1644,8 +1674,9 @@ static int br_multicast_ipv6_rcv(struct
@@ -1649,8 +1679,9 @@ static int br_multicast_ipv6_rcv(struct

switch (mld->mld_type) {
case ICMPV6_MGM_REPORT:
Expand All @@ -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);
@@ -1654,7 +1685,8 @@ static int br_multicast_ipv6_rcv(struct
@@ -1659,7 +1690,8 @@ static int br_multicast_ipv6_rcv(struct
err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
break;
case ICMPV6_MGM_REDUCTION:
Expand Down

1 comment on commit 8e47655

@build000
Copy link

@build000 build000 commented on 8e47655 Nov 17, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stintel @chunkeey

bootlog-fragmenst.txt

SD cards reader from WNDR4700 still not working - latest "dwc2 commit" 3a11211 nothing change

Please sign in to comment.