kernel: refresh 3.10 patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37348
This commit is contained in:
parent
a6db996b13
commit
3197479290
26 changed files with 55 additions and 58 deletions
|
@ -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) \
|
||||
|
|
|
@ -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,$^) | \
|
||||
|
|
|
@ -83,7 +83,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
|||
/* Convert Mips rounding mode (0..3) to IEEE library modes. */
|
||||
static const unsigned char ieee_rm[4] = {
|
||||
[FPU_CSR_RN] = IEEE754_RN,
|
||||
@@ -116,9 +120,13 @@ static const unsigned int fpucondbit[8]
|
||||
@@ -116,9 +120,13 @@ static const unsigned int fpucondbit[8]
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
/* Our partition linked list */
|
||||
static LIST_HEAD(mtd_partitions);
|
||||
static DEFINE_MUTEX(mtd_partitions_mutex);
|
||||
@@ -230,13 +232,60 @@ static int part_erase(struct mtd_info *m
|
||||
@@ -232,13 +234,60 @@ static int part_erase(struct mtd_info *m
|
||||
struct mtd_part *part = PART(mtd);
|
||||
int ret;
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
|||
return ret;
|
||||
}
|
||||
|
||||
@@ -244,7 +293,25 @@ void mtd_erase_callback(struct erase_inf
|
||||
@@ -246,7 +295,25 @@ void mtd_erase_callback(struct erase_inf
|
||||
{
|
||||
if (instr->mtd->_erase == part_erase) {
|
||||
struct mtd_part *part = PART(instr->mtd);
|
||||
|
@ -96,7 +96,7 @@
|
|||
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
|
||||
instr->fail_addr -= part->offset;
|
||||
instr->addr -= part->offset;
|
||||
@@ -504,18 +571,24 @@ static struct mtd_part *allocate_partiti
|
||||
@@ -506,18 +573,24 @@ static struct mtd_part *allocate_partiti
|
||||
if ((slave->mtd.flags & MTD_WRITEABLE) &&
|
||||
mtd_mod_by_eb(slave->offset, &slave->mtd)) {
|
||||
/* Doesn't start on a boundary of major erase size */
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
+struct mtd_info;
|
||||
|
||||
struct mtd_partition;
|
||||
struct mtd_partition {
|
||||
@@ -52,7 +53,6 @@ struct mtd_partition {
|
||||
char *name; /* identifier string */
|
||||
@@ -50,7 +51,6 @@ struct mtd_partition {
|
||||
#define MTDPART_SIZ_FULL (0)
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/mtd/Kconfig
|
||||
+++ b/drivers/mtd/Kconfig
|
||||
@@ -163,6 +163,22 @@ config MTD_BCM47XX_PARTS
|
||||
@@ -172,6 +172,22 @@ config MTD_BCM47XX_PARTS
|
||||
This provides partitions parser for devices based on BCM47xx
|
||||
boards.
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/mtd/mtdpart.c
|
||||
+++ b/drivers/mtd/mtdpart.c
|
||||
@@ -330,7 +330,14 @@ static int part_lock(struct mtd_info *mt
|
||||
@@ -332,7 +332,14 @@ static int part_lock(struct mtd_info *mt
|
||||
static int part_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
|
||||
{
|
||||
struct mtd_part *part = PART(mtd);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -48,8 +48,8 @@
|
|||
return RX_HANDLER_CONSUMED; /* consumed by filter */
|
||||
} else {
|
||||
@@ -224,7 +224,7 @@ forward:
|
||||
if (!ether_addr_equal(p->br->dev->dev_addr, dest))
|
||||
goto drop;
|
||||
if (ether_addr_equal(p->br->dev->dev_addr, dest))
|
||||
skb->pkt_type = PACKET_HOST;
|
||||
|
||||
- if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
|
||||
+ if (BR_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue