mirror of https://github.com/hak5/openwrt.git
upgrade 3.12 targets to 3.12.5
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> SVN-Revision: 39055lede-17.01
parent
a55649082a
commit
e504547e4c
|
@ -20,6 +20,9 @@ endif
|
|||
ifeq ($(LINUX_VERSION),3.10.21)
|
||||
LINUX_KERNEL_MD5SUM:=dc5f31aef4aac0cc271e7ecf1a4b485d
|
||||
endif
|
||||
ifeq ($(LINUX_VERSION),3.12.5)
|
||||
LINUX_KERNEL_MD5SUM:=5b5330f657f562f7bef6da100a7133b1
|
||||
endif
|
||||
|
||||
# disable the md5sum check for unknown kernel versions
|
||||
LINUX_KERNEL_MD5SUM?=x
|
||||
|
|
|
@ -326,7 +326,7 @@
|
|||
|
||||
/**
|
||||
* sb_permission - Check superblock-level permissions
|
||||
@@ -3064,9 +3065,12 @@ finish_open_created:
|
||||
@@ -3065,9 +3066,12 @@ finish_open_created:
|
||||
error = may_open(&nd->path, acc_mode, open_flag);
|
||||
if (error)
|
||||
goto out;
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
/****************************************************************************/
|
||||
|
||||
struct m25p {
|
||||
@@ -1046,7 +1052,7 @@ static int m25p_probe(struct spi_device
|
||||
@@ -1044,7 +1050,7 @@ static int m25p_probe(struct spi_device
|
||||
flash->mtd._write = m25p80_write;
|
||||
|
||||
/* prefer "small sector" erase if possible */
|
||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
#define PACKET_FANOUT_LB 1
|
||||
--- a/net/packet/af_packet.c
|
||||
+++ b/net/packet/af_packet.c
|
||||
@@ -1386,6 +1386,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1393,6 +1393,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
{
|
||||
struct sock *sk;
|
||||
struct sockaddr_pkt *spkt;
|
||||
|
@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
/*
|
||||
* When we registered the protocol we saved the socket in the data
|
||||
@@ -1393,6 +1394,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1400,6 +1401,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
*/
|
||||
|
||||
sk = pt->af_packet_priv;
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
/*
|
||||
* Yank back the headers [hope the device set this
|
||||
@@ -1405,7 +1407,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1412,7 +1414,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
* so that this procedure is noop.
|
||||
*/
|
||||
|
||||
|
@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
goto out;
|
||||
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
@@ -1612,12 +1614,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
@@ -1619,12 +1621,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
int skb_len = skb->len;
|
||||
unsigned int snaplen, res;
|
||||
|
||||
|
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -1730,12 +1732,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
@@ -1737,12 +1739,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
struct timespec ts;
|
||||
__u32 ts_status;
|
||||
|
||||
|
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -2625,6 +2627,7 @@ static int packet_create(struct net *net
|
||||
@@ -2638,6 +2640,7 @@ static int packet_create(struct net *net
|
||||
spin_lock_init(&po->bind_lock);
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->prot_hook.func = packet_rcv;
|
||||
|
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3193,6 +3196,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3204,6 +3207,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->tp_tx_has_off = !!val;
|
||||
return 0;
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3244,6 +3257,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3255,6 +3268,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
@ -124,9 +124,9 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
break;
|
||||
--- a/net/packet/internal.h
|
||||
+++ b/net/packet/internal.h
|
||||
@@ -114,6 +114,7 @@ struct packet_sock {
|
||||
unsigned int tp_tx_has_off:1;
|
||||
@@ -115,6 +115,7 @@ struct packet_sock {
|
||||
unsigned int tp_tstamp;
|
||||
struct net_device __rcu *cached_dev;
|
||||
struct packet_type prot_hook ____cacheline_aligned_in_smp;
|
||||
+ unsigned int pkt_type;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -1750,7 +1750,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -1741,7 +1741,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
|
|
@ -14,7 +14,7 @@ when needed.
|
|||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -1795,6 +1795,24 @@ static inline void pskb_trim_unique(stru
|
||||
@@ -1786,6 +1786,24 @@ static inline void pskb_trim_unique(stru
|
||||
BUG_ON(err);
|
||||
}
|
||||
|
||||
|
|
|
@ -127,7 +127,7 @@
|
|||
static const struct rt6_info ip6_blk_hole_entry_template = {
|
||||
.dst = {
|
||||
.__refcnt = ATOMIC_INIT(1),
|
||||
@@ -1577,6 +1595,9 @@ int ip6_route_add(struct fib6_config *cf
|
||||
@@ -1583,6 +1601,9 @@ int ip6_route_add(struct fib6_config *cf
|
||||
case RTN_THROW:
|
||||
rt->dst.error = -EAGAIN;
|
||||
break;
|
||||
|
@ -137,7 +137,7 @@
|
|||
default:
|
||||
rt->dst.error = -ENETUNREACH;
|
||||
break;
|
||||
@@ -2156,6 +2177,17 @@ static int ip6_pkt_prohibit_out(struct s
|
||||
@@ -2162,6 +2183,17 @@ static int ip6_pkt_prohibit_out(struct s
|
||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||
}
|
||||
|
||||
|
@ -155,7 +155,7 @@
|
|||
#endif
|
||||
|
||||
/*
|
||||
@@ -2362,7 +2394,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
@@ -2368,7 +2400,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||
rtm->rtm_type == RTN_PROHIBIT ||
|
||||
|
@ -165,7 +165,7 @@
|
|||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -2564,6 +2597,9 @@ static int rt6_fill_node(struct net *net
|
||||
@@ -2570,6 +2603,9 @@ static int rt6_fill_node(struct net *net
|
||||
case -EACCES:
|
||||
rtm->rtm_type = RTN_PROHIBIT;
|
||||
break;
|
||||
|
@ -175,7 +175,7 @@
|
|||
case -EAGAIN:
|
||||
rtm->rtm_type = RTN_THROW;
|
||||
break;
|
||||
@@ -2814,6 +2850,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -2820,6 +2856,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
|
@ -184,7 +184,7 @@
|
|||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -3074,6 +3112,17 @@ static int __net_init ip6_route_net_init
|
||||
@@ -3080,6 +3118,17 @@ static int __net_init ip6_route_net_init
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
|
@ -202,7 +202,7 @@
|
|||
#endif
|
||||
|
||||
net->ipv6.sysctl.flush_delay = 0;
|
||||
@@ -3092,6 +3141,8 @@ out:
|
||||
@@ -3098,6 +3147,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
|
@ -211,7 +211,7 @@
|
|||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -3109,6 +3160,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -3115,6 +3166,7 @@ static void __net_exit ip6_route_net_exi
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
|
@ -219,7 +219,7 @@
|
|||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
}
|
||||
@@ -3205,6 +3257,9 @@ int __init ip6_route_init(void)
|
||||
@@ -3211,6 +3263,9 @@ int __init ip6_route_init(void)
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
#define IF_GET_IFACE 0x0001 /* for querying only */
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -1780,6 +1780,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -1771,6 +1771,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
|||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -1907,16 +1911,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -1898,16 +1902,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
|
@ -79,7 +79,7 @@
|
|||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -2602,9 +2602,19 @@ int dev_hard_start_xmit(struct sk_buff *
|
||||
@@ -2598,9 +2598,19 @@ int dev_hard_start_xmit(struct sk_buff *
|
||||
if (!list_empty(&ptype_all))
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
|
@ -102,7 +102,7 @@
|
|||
if (rc == NETDEV_TX_OK)
|
||||
txq_trans_update(txq);
|
||||
return rc;
|
||||
@@ -2620,9 +2630,19 @@ gso:
|
||||
@@ -2616,9 +2626,19 @@ gso:
|
||||
if (!list_empty(&ptype_all))
|
||||
dev_queue_xmit_nit(nskb, dev);
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
* @dev: device the buffer will be used with
|
||||
--- a/include/linux/usb.h
|
||||
+++ b/include/linux/usb.h
|
||||
@@ -690,6 +690,7 @@ static inline bool usb_device_no_sg_cons
|
||||
@@ -692,6 +692,7 @@ static inline bool usb_device_no_sg_cons
|
||||
return udev && udev->bus && udev->bus->no_sg_constraint;
|
||||
}
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
}
|
||||
--- a/mm/vmstat.c
|
||||
+++ b/mm/vmstat.c
|
||||
@@ -1280,10 +1280,12 @@ static int __init setup_vmstat(void)
|
||||
@@ -1281,10 +1281,12 @@ static int __init setup_vmstat(void)
|
||||
start_cpu_timer(cpu);
|
||||
#endif
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
|
|
@ -13,7 +13,7 @@ FEATURES:=ext4 rtc usb gpio
|
|||
CPU_TYPE:=arm926ej-s
|
||||
|
||||
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
|
||||
LINUX_VERSION:=3.12
|
||||
LINUX_VERSION:=3.12.5
|
||||
KERNELNAME:="zImage dtbs"
|
||||
|
||||
define Target/Description
|
||||
|
|
|
@ -13,7 +13,7 @@ FEATURES:=usb usbgadget ext4 targz fpu audio display
|
|||
CPU_TYPE:=cortex-a9
|
||||
CPU_SUBTYPE:=vfpv3
|
||||
|
||||
LINUX_VERSION:=3.12
|
||||
LINUX_VERSION:=3.12.5
|
||||
|
||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
|
|
|
@ -1,36 +1,49 @@
|
|||
From f92d9597f781f6a5a39c73dc71604bd8a21c5299 Mon Sep 17 00:00:00 2001
|
||||
From: Rajendra Nayak <rnayak@ti.com>
|
||||
Date: Wed, 09 Oct 2013 07:26:55 +0000
|
||||
Subject: ARM: OMAP2+: hwmod: Extract no-idle and no-reset info from DT
|
||||
|
||||
Now that we have DT bindings to specify which devices should not
|
||||
be reset and idled during init, make hwmod extract the information
|
||||
(and store them in internal flags) from Device tree.
|
||||
|
||||
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
|
||||
[paul@pwsan.com: updated to apply]
|
||||
Signed-off-by: Paul Walmsley <paul@pwsan.com>
|
||||
|
||||
---
|
||||
arch/arm/mach-omap2/omap_hwmod.c | 23 ++++++++++++++++-------
|
||||
1 file changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/arch/arm/mach-omap2/omap_hwmod.c
|
||||
+++ b/arch/arm/mach-omap2/omap_hwmod.c
|
||||
@@ -2363,11 +2363,11 @@ static struct device_node *of_dev_hwmod_
|
||||
* are part of the device's address space can be ioremapped properly.
|
||||
* No return value.
|
||||
@@ -2357,6 +2357,8 @@ static struct device_node *of_dev_hwmod_
|
||||
/**
|
||||
* _init_mpu_rt_base - populate the virtual address for a hwmod
|
||||
* @oh: struct omap_hwmod * to locate the virtual address
|
||||
+ * @data: (unused, caller should pass NULL)
|
||||
+ * @np: struct device_node * of the IP block's device node in the DT data
|
||||
*
|
||||
* Cache the virtual address used by the MPU to access this IP block's
|
||||
* registers. This address is needed early so the OCP registers that
|
||||
@@ -2365,11 +2367,11 @@ static struct device_node *of_dev_hwmod_
|
||||
* Returns 0 on success, -EINVAL if an invalid hwmod is passed, and
|
||||
* -ENXIO on absent or invalid register target address space.
|
||||
*/
|
||||
-static void __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data)
|
||||
+static void __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data,
|
||||
+ struct device_node *np)
|
||||
-static int __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data)
|
||||
+static int __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data,
|
||||
+ struct device_node *np)
|
||||
{
|
||||
struct omap_hwmod_addr_space *mem;
|
||||
void __iomem *va_start = NULL;
|
||||
- struct device_node *np;
|
||||
|
||||
if (!oh)
|
||||
return;
|
||||
@@ -2383,12 +2383,10 @@ static void __init _init_mpu_rt_base(str
|
||||
return -EINVAL;
|
||||
@@ -2385,12 +2387,10 @@ static int __init _init_mpu_rt_base(stru
|
||||
oh->name);
|
||||
|
||||
/* Extract the IO space from device tree blob */
|
||||
- if (!of_have_populated_dt())
|
||||
+ if (!np)
|
||||
return;
|
||||
return -ENXIO;
|
||||
|
||||
- np = of_dev_hwmod_lookup(of_find_node_by_name(NULL, "ocp"), oh);
|
||||
- if (np)
|
||||
|
@ -39,7 +52,7 @@ arch/arm/mach-omap2/omap_hwmod.c | 23 ++++++++++++++++-------
|
|||
} else {
|
||||
va_start = ioremap(mem->pa_start, mem->pa_end - mem->pa_start);
|
||||
}
|
||||
@@ -2420,12 +2418,16 @@ static void __init _init_mpu_rt_base(str
|
||||
@@ -2423,12 +2423,16 @@ static int __init _init_mpu_rt_base(stru
|
||||
static int __init _init(struct omap_hwmod *oh, void *data)
|
||||
{
|
||||
int r;
|
||||
|
@ -51,22 +64,21 @@ arch/arm/mach-omap2/omap_hwmod.c | 23 ++++++++++++++++-------
|
|||
+ if (of_have_populated_dt())
|
||||
+ np = of_dev_hwmod_lookup(of_find_node_by_name(NULL, "ocp"), oh);
|
||||
+
|
||||
if (oh->class->sysc)
|
||||
- _init_mpu_rt_base(oh, NULL);
|
||||
+ _init_mpu_rt_base(oh, NULL, np);
|
||||
|
||||
r = _init_clocks(oh, NULL);
|
||||
if (r < 0) {
|
||||
@@ -2433,6 +2435,13 @@ static int __init _init(struct omap_hwmo
|
||||
if (oh->class->sysc) {
|
||||
- r = _init_mpu_rt_base(oh, NULL);
|
||||
+ r = _init_mpu_rt_base(oh, NULL, np);
|
||||
if (r < 0) {
|
||||
WARN(1, "omap_hwmod: %s: doesn't have mpu register target base\n",
|
||||
oh->name);
|
||||
@@ -2442,6 +2446,12 @@ static int __init _init(struct omap_hwmo
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+ if (np) {
|
||||
+ if (np)
|
||||
+ if (of_find_property(np, "ti,no-reset-on-init", NULL))
|
||||
+ oh->flags |= HWMOD_INIT_NO_RESET;
|
||||
+ if (of_find_property(np, "ti,no-idle-on-init", NULL))
|
||||
+ oh->flags |= HWMOD_INIT_NO_IDLE;
|
||||
+ }
|
||||
+
|
||||
oh->_state = _HWMOD_STATE_INITIALIZED;
|
||||
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
From 0bebda684857f76548ea48c8886785198701d8d3 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Pargmann <mpa@pengutronix.de>
|
||||
Date: Thu, 17 Oct 2013 07:18:38 +0000
|
||||
Subject: ARM: OMAP2+: irq, AM33XX add missing register check
|
||||
|
||||
am33xx has a INTC_PENDING_IRQ3 register that is not checked for pending
|
||||
interrupts. This patch adds AM33XX to the ifdef of SOCs that have to
|
||||
check this register.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
|
||||
Signed-off-by: Tony Lindgren <tony@atomide.com>
|
||||
---
|
||||
--- a/arch/arm/mach-omap2/irq.c
|
||||
+++ b/arch/arm/mach-omap2/irq.c
|
||||
@@ -233,7 +233,7 @@ static inline void omap_intc_handle_irq(
|
||||
goto out;
|
||||
|
||||
irqnr = readl_relaxed(base_addr + 0xd8);
|
||||
-#ifdef CONFIG_SOC_TI81XX
|
||||
+#if IS_ENABLED(CONFIG_SOC_TI81XX) || IS_ENABLED(CONFIG_SOC_AM33XX)
|
||||
if (irqnr)
|
||||
goto out;
|
||||
irqnr = readl_relaxed(base_addr + 0xf8);
|
|
@ -15,7 +15,7 @@ CPU_TYPE:=cortex-a8
|
|||
CPU_SUBTYPE:=vfpv3
|
||||
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
|
||||
|
||||
LINUX_VERSION:=3.12
|
||||
LINUX_VERSION:=3.12.5
|
||||
KERNELNAME:="zImage dtbs"
|
||||
DEFAULT_PACKAGES += uboot-envtools uboot-sunxi
|
||||
|
||||
|
|
Loading…
Reference in New Issue