kernel: update to linux 3.10.4, refresh patches

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37617
This commit is contained in:
Felix Fietkau 2013-07-29 22:42:22 +00:00
parent 36e6d4ca53
commit 8f04792531
25 changed files with 67 additions and 70 deletions

View file

@ -17,8 +17,8 @@ endif
ifeq ($(LINUX_VERSION),3.9.11)
LINUX_KERNEL_MD5SUM:=edbf88eb7f7d34dbd5d3887726790755
endif
ifeq ($(LINUX_VERSION),3.10.3)
LINUX_KERNEL_MD5SUM:=30d2f96003778d03fa102b319f46b0c9
ifeq ($(LINUX_VERSION),3.10.4)
LINUX_KERNEL_MD5SUM:=0378156d0a4ebf155d083531c3cb3826
endif
# disable the md5sum check for unknown kernel versions

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs targz mips16
CFLAGS:=-Os -pipe -mips32r2 -mtune=34kc -mno-branch-likely
SUBTARGETS:=generic nand
LINUX_VERSION:=3.10.3
LINUX_VERSION:=3.10.4
include $(INCLUDE_DIR)/target.mk

View file

@ -20,7 +20,7 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -684,7 +684,8 @@ const int reg16to32[] = { 16, 17, 2, 3,
@@ -684,7 +684,8 @@ const int reg16to32[] = { 16, 17, 2, 3,
/* Recode table from 16-bit STORE register notation to 32-bit GPR. */
const int reg16to32st[] = { 0, 17, 2, 3, 4, 5, 6, 7 };

View file

@ -66,7 +66,7 @@
}
EXPORT_SYMBOL_GPL(bcma_core_disable);
@@ -43,6 +64,7 @@ int bcma_core_enable(struct bcma_device
@@ -43,6 +64,7 @@ int bcma_core_enable(struct bcma_device
bcma_aread32(core, BCMA_IOCTL);
bcma_awrite32(core, BCMA_RESET_CTL, 0);
@ -269,7 +269,7 @@
{ "AT45DB011", 0xc, 256, 512, },
{ "AT45DB021", 0x14, 256, 1024, },
{ "AT45DB041", 0x1c, 256, 2048, },
@@ -89,7 +89,7 @@ int bcma_sflash_init(struct bcma_drv_cc
@@ -89,7 +89,7 @@ int bcma_sflash_init(struct bcma_drv_cc
{
struct bcma_bus *bus = cc->core->bus;
struct bcma_sflash *sflash = &cc->sflash;

View file

@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#ifdef MODULE
#define __MODULE_INFO(tag, name, info) \
static const char __UNIQUE_ID(name)[] \
@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[]
@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[]
= __stringify(tag) "=" info
#else /* !MODULE */
/* This struct is here for syntactic coherency, it is not used */
@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#endif
#define __MODULE_PARM_TYPE(name, _type) \
__MODULE_INFO(parmtype, name##type, #name ":" _type)
@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[]
@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[]
/* One for each parameter, describing how to use it. Some files do
multiple of these per line, so can't just use MODULE_INFO. */
#define MODULE_PARM_DESC(_parm, desc) \

View file

@ -1,6 +1,6 @@
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -303,7 +303,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
@@ -303,7 +303,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
quiet_cmd_lzma = LZMA $@
cmd_lzma = (cat $(filter-out FORCE,$^) | \

View file

@ -1,6 +1,6 @@
--- a/arch/mips/include/asm/string.h
+++ b/arch/mips/include/asm/string.h
@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
#define __HAVE_ARCH_MEMSET
extern void *memset(void *__s, int __c, size_t __count);

View file

@ -27,7 +27,7 @@
/* Spansion -- single (large) sector size only, at least
* for the chips listed here (without boot sectors).
*/
@@ -1018,6 +1024,9 @@ static int m25p_probe(struct spi_device
@@ -1018,6 +1024,9 @@ static int m25p_probe(struct spi_device
if (info->flags & SECT_4K) {
flash->erase_opcode = OPCODE_BE_4K;
flash->mtd.erasesize = 4096;

View file

@ -30,7 +30,7 @@
/****************************************************************************/
struct m25p {
@@ -1022,7 +1028,7 @@ static int m25p_probe(struct spi_device
@@ -1022,7 +1028,7 @@ static int m25p_probe(struct spi_device
flash->mtd._write = m25p80_write;
/* prefer "small sector" erase if possible */

View file

@ -26,7 +26,7 @@ Signed-off-by: Charles Manning <cdhmanning@gmail.com>
#include <linux/pagemap.h>
#include <linux/mtd/mtd.h>
#include <linux/interrupt.h>
@@ -236,7 +238,9 @@ static int yaffs_file_flush(struct file
@@ -236,7 +238,9 @@ static int yaffs_file_flush(struct file
static int yaffs_file_flush(struct file *file);
#endif

View file

@ -216,7 +216,7 @@
result = yaffs_rd_chunk_tags_nand(dev,nand_chunk,buffer,&tempTags);
if(memcmp(buffer,data,dev->data_bytes_per_chunk) ||
tempTags.obj_id != tags->obj_id ||
@@ -424,7 +424,7 @@ static int yaffs_write_new_chunk(struct
@@ -424,7 +424,7 @@ static int yaffs_write_new_chunk(struct
* lot of checks that are most likely not needed.
*
* Mods to the above
@ -225,7 +225,7 @@
* rest of the block.
*/
@@ -486,7 +486,7 @@ static int yaffs_write_new_chunk(struct
@@ -486,7 +486,7 @@ static int yaffs_write_new_chunk(struct
}
@ -279,7 +279,7 @@
/* Free chunks already includes softdeleted chunks.
* How ever this chunk is going to soon be really deleted
* which will increment free chunks.
@@ -2752,7 +2752,7 @@ int yaffs_put_chunk_in_file(yaffs_obj_t
@@ -2752,7 +2752,7 @@ int yaffs_put_chunk_in_file(yaffs_obj_t
NULL);
if (!tn)
return YAFFS_FAIL;
@ -455,7 +455,7 @@
#ifdef CONFIG_YAFFS_SHORT_NAMES_IN_RAM
else if (obj->short_name[0]) {
yaffs_strcpy(name, obj->short_name);
@@ -4861,9 +4861,9 @@ int yaffs_set_attribs(yaffs_obj_t *obj,
@@ -4861,9 +4861,9 @@ int yaffs_set_attribs(yaffs_obj_t *obj,
if (valid & ATTR_MODE)
obj->yst_mode = attr->ia_mode;
if (valid & ATTR_UID)
@ -467,7 +467,7 @@
if (valid & ATTR_ATIME)
obj->yst_atime = Y_TIME_CONVERT(attr->ia_atime);
@@ -4886,9 +4886,9 @@ int yaffs_get_attribs(yaffs_obj_t *obj,
@@ -4886,9 +4886,9 @@ int yaffs_get_attribs(yaffs_obj_t *obj,
attr->ia_mode = obj->yst_mode;
valid |= ATTR_MODE;

View file

@ -8,7 +8,7 @@
static struct proc_dir_entry *my_proc_entry;
static struct proc_dir_entry *debug_proc_entry;
@@ -3668,6 +3669,7 @@ static int yaffs_proc_write(struct file
@@ -3668,6 +3669,7 @@ static int yaffs_proc_write(struct file
{
return yaffs_proc_write_trace_options(file, buf, count, data);
}

View file

@ -124,7 +124,7 @@
/* LzmaDecode
--- a/lib/lzma/LzmaDec.c
+++ b/lib/lzma/LzmaDec.c
@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
p->needFlush = 0;
}
@ -219,26 +219,26 @@
{
UInt32 dicSize;
Byte d;
@@ -935,7 +883,7 @@ static SRes LzmaDec_AllocateProbs2(CLzma
@@ -935,33 +883,11 @@ static SRes LzmaDec_AllocateProbs2(CLzma
return SZ_OK;
}
-SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-{
- CLzmaProps propNew;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- p->prop = propNew;
- return SZ_OK;
-}
-
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
+static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
{
CLzmaProps propNew;
RINOK(LzmaProps_Decode(&propNew, props, propsSize));
@@ -943,28 +891,6 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p,
p->prop = propNew;
return SZ_OK;
}
-
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-{
- CLzmaProps propNew;
- SizeT dicBufSize;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
RINOK(LzmaProps_Decode(&propNew, props, propsSize));
RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- dicBufSize = propNew.dicSize;
- if (p->dic == 0 || dicBufSize != p->dicBufSize)
- {
@ -251,12 +251,9 @@
- }
- }
- p->dicBufSize = dicBufSize;
- p->prop = propNew;
- return SZ_OK;
-}
SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
p->prop = propNew;
return SZ_OK;
}
--- a/include/linux/lzma/LzmaEnc.h
+++ b/include/linux/lzma/LzmaEnc.h
@@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps
@ -600,7 +597,7 @@
void MatchFinder_Construct(CMatchFinder *p);
/* Conditions:
@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
ISzAlloc *alloc);
void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
@ -689,7 +686,7 @@
{
memmove(p->bufferBase,
p->buffer - p->keepSizeBefore,
@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder
@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder
p->buffer = p->bufferBase + p->keepSizeBefore;
}

View file

@ -30,7 +30,7 @@
depends on NETFILTER_ADVANCED
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
@@ -134,6 +134,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
@@ -134,6 +134,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o

View file

@ -1,6 +1,6 @@
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
@@ -268,10 +268,34 @@ static int ct_open(struct inode *inode,
@@ -268,10 +268,34 @@ static int ct_open(struct inode *inode,
sizeof(struct ct_iter_state));
}

View file

@ -76,11 +76,10 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
@@ -960,6 +989,14 @@ copy_entries_to_user(unsigned int total_
ret = -EFAULT;
@@ -961,6 +990,14 @@ copy_entries_to_user(unsigned int total_
goto free_counters;
}
+
+ flags = e->ip.flags & IPT_F_MASK;
+ if (copy_to_user(userptr + off
+ + offsetof(struct ipt_entry, ip.flags),
@ -88,6 +87,7 @@
+ ret = -EFAULT;
+ goto free_counters;
+ }
+
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
i += m->u.match_size) {

View file

@ -1,6 +1,6 @@
--- a/include/net/addrconf.h
+++ b/include/net/addrconf.h
@@ -96,6 +96,12 @@ extern void addrconf_join_solict(struc
@@ -99,6 +99,12 @@ extern void addrconf_join_solict(struc
extern void addrconf_leave_solict(struct inet6_dev *idev,
const struct in6_addr *addr);
@ -25,7 +25,7 @@
Ethernet bridge, which means that the different Ethernet segments it
--- a/net/ipv6/Makefile
+++ b/net/ipv6/Makefile
@@ -44,3 +44,4 @@ obj-y += addrconf_core.o exthdrs_core.o
@@ -44,3 +44,4 @@ obj-y += addrconf_core.o exthdrs_core.o
obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload)
obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o
@ -47,9 +47,9 @@
}
-EXPORT_SYMBOL(ipv6_dev_get_saddr);
int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
unsigned char banned_flags)
@@ -5137,6 +5136,9 @@ int __init addrconf_init(void)
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
unsigned char banned_flags)
@@ -5145,6 +5144,9 @@ int __init addrconf_init(void)
ipv6_addr_label_rtnl_register();
@ -59,7 +59,7 @@
return 0;
errout:
rtnl_af_unregister(&inet6_ops);
@@ -5155,6 +5157,9 @@ void addrconf_cleanup(void)
@@ -5163,6 +5165,9 @@ void addrconf_cleanup(void)
struct net_device *dev;
int i;

View file

@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1503,27 +1503,7 @@ void netlink_detachskb(struct sock *sk,
@@ -1503,27 +1503,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{

View file

@ -24,7 +24,7 @@ commont qdiscs.
}
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
@@ -29,17 +29,21 @@ static int bfifo_enqueue(struct sk_buff
@@ -29,17 +29,21 @@ static int bfifo_enqueue(struct sk_buff
static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch)
{

View file

@ -56,7 +56,7 @@
err = -EINVAL;
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
@@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
.error = -EINVAL,
.scope = RT_SCOPE_NOWHERE,
},
@ -112,7 +112,7 @@
return -EINVAL;
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -245,6 +245,24 @@ static const struct rt6_info ip6_prohibi
@@ -251,6 +251,24 @@ static const struct rt6_info ip6_prohibi
.rt6i_ref = ATOMIC_INIT(1),
};
@ -137,7 +137,7 @@
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__refcnt = ATOMIC_INIT(1),
@@ -1459,6 +1477,9 @@ int ip6_route_add(struct fib6_config *cf
@@ -1481,6 +1499,9 @@ int ip6_route_add(struct fib6_config *cf
case RTN_THROW:
rt->dst.error = -EAGAIN;
break;
@ -147,7 +147,7 @@
default:
rt->dst.error = -ENETUNREACH;
break;
@@ -2035,6 +2056,17 @@ static int ip6_pkt_prohibit_out(struct s
@@ -2057,6 +2078,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
@ -165,7 +165,7 @@
#endif
/*
@@ -2240,7 +2272,8 @@ static int rtm_to_fib6_config(struct sk_
@@ -2262,7 +2294,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 ||
@ -175,7 +175,7 @@
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
@@ -2442,6 +2475,9 @@ static int rt6_fill_node(struct net *net
@@ -2464,6 +2497,9 @@ static int rt6_fill_node(struct net *net
case -EACCES:
rtm->rtm_type = RTN_PROHIBIT;
break;
@ -185,7 +185,7 @@
case -EAGAIN:
rtm->rtm_type = RTN_THROW;
break;
@@ -2692,6 +2728,8 @@ static int ip6_route_dev_notify(struct n
@@ -2714,6 +2750,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);
@ -194,7 +194,7 @@
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
@@ -2952,6 +2990,17 @@ static int __net_init ip6_route_net_init
@@ -2974,6 +3012,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);
@ -212,7 +212,7 @@
#endif
net->ipv6.sysctl.flush_delay = 0;
@@ -2970,6 +3019,8 @@ out:
@@ -2992,6 +3041,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -221,7 +221,7 @@
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
@@ -2987,6 +3038,7 @@ static void __net_exit ip6_route_net_exi
@@ -3009,6 +3060,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);
@ -229,7 +229,7 @@
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
}
@@ -3083,6 +3135,9 @@ int __init ip6_route_init(void)
@@ -3105,6 +3157,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);

View file

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -2403,13 +2403,13 @@ int prism2_ap_get_sta_qual(local_info_t
@@ -2403,13 +2403,13 @@ int prism2_ap_get_sta_qual(local_info_t
addr[count].sa_family = ARPHRD_ETHER;
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
if (sta->last_rx_silence == 0)

View file

@ -15,7 +15,7 @@
default y
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -44,6 +44,7 @@ static void quirk_mmio_always_on(struct
@@ -44,6 +44,7 @@ static void quirk_mmio_always_on(struct
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);

View file

@ -199,7 +199,7 @@
&fib_triestat_fops))
goto out2;
@@ -2603,17 +2605,21 @@ int __net_init fib_proc_init(struct net
@@ -2603,17 +2605,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:

View file

@ -24,7 +24,7 @@
* All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings.
@@ -796,6 +806,63 @@ void add_disk_randomness(struct gendisk
@@ -796,6 +806,63 @@ void add_disk_randomness(struct gendisk
}
#endif

View file

@ -62,7 +62,7 @@ Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
{
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -101,9 +101,7 @@ static void mpcore_wdt_keepalive(struct
@@ -101,9 +101,7 @@ static void mpcore_wdt_keepalive(struct
spin_lock(&wdt_lock);
/* Assume prescale is set to 256 */