kernel: update 3.10 to 3.10.28

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39399
This commit is contained in:
Gabor Juhos 2014-01-26 11:30:34 +00:00
parent e41e531e3b
commit a2543d72d8
47 changed files with 159 additions and 203 deletions

View file

@ -17,8 +17,8 @@ endif
ifeq ($(LINUX_VERSION),3.9.11) ifeq ($(LINUX_VERSION),3.9.11)
LINUX_KERNEL_MD5SUM:=edbf88eb7f7d34dbd5d3887726790755 LINUX_KERNEL_MD5SUM:=edbf88eb7f7d34dbd5d3887726790755
endif endif
ifeq ($(LINUX_VERSION),3.10.26) ifeq ($(LINUX_VERSION),3.10.28)
LINUX_KERNEL_MD5SUM:=9cdbcb3463b9753fafd97cddb38d1211 LINUX_KERNEL_MD5SUM:=789a39e8a381a60e46fe922cb66d77e2
endif endif
ifeq ($(LINUX_VERSION),3.12.5) ifeq ($(LINUX_VERSION),3.12.5)
LINUX_KERNEL_MD5SUM:=5b5330f657f562f7bef6da100a7133b1 LINUX_KERNEL_MD5SUM:=5b5330f657f562f7bef6da100a7133b1

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs atm
MAINTAINER:=Florian Fainelli <florian@openwrt.org> MAINTAINER:=Florian Fainelli <florian@openwrt.org>
SUBTARGETS:=generic ac49x SUBTARGETS:=generic ac49x
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -15,7 +15,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o @@ -16,7 +16,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -188,6 +188,11 @@ config MTD_OF_PARTS @@ -192,6 +192,11 @@ config MTD_OF_PARTS
the partition map from the children of the flash node, the partition map from the children of the flash node,
as described in Documentation/devicetree/booting-without-of.txt. as described in Documentation/devicetree/booting-without-of.txt.
@ -14,7 +14,7 @@
---help--- ---help---
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -14,6 +14,7 @@ mtd-$(CONFIG_MTD_SPLIT_UIMAGE_FW) += mtd @@ -15,6 +15,7 @@ mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsp
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o

View file

@ -13,7 +13,7 @@ FEATURES:=mips16
CPU_TYPE=34kc CPU_TYPE=34kc
SUBTARGETS:=generic nand mikrotik SUBTARGETS:=generic nand mikrotik
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -208,6 +208,12 @@ config MTD_BCM47XX_PARTS @@ -212,6 +212,12 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx This provides partitions parser for devices based on BCM47xx
boards. boards.
@ -15,7 +15,7 @@
depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79 depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o @@ -20,6 +20,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o
obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -210,7 +210,7 @@ config MTD_BCM47XX_PARTS @@ -214,7 +214,7 @@ config MTD_BCM47XX_PARTS
config MTD_WRT160NL_PARTS config MTD_WRT160NL_PARTS
tristate "Linksys WRT160NL partitioning support" tristate "Linksys WRT160NL partitioning support"
@ -9,7 +9,7 @@
---help--- ---help---
Linksys WRT160NL partitioning support Linksys WRT160NL partitioning support
@@ -230,6 +230,12 @@ config MTD_MYLOADER_PARTS @@ -234,6 +234,12 @@ config MTD_MYLOADER_PARTS
You will still need the parsing functions to be called by the driver You will still need the parsing functions to be called by the driver
for your particular device. It won't happen automatically. for your particular device. It won't happen automatically.
@ -24,7 +24,7 @@
config MTD_BLKDEVS config MTD_BLKDEVS
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o @@ -20,6 +20,7 @@ obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o
obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o

View file

@ -12,7 +12,7 @@ BOARDNAME:=Atmel AVR32
FEATURES:=squashfs FEATURES:=squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs usb pci pcie gpio
MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
CPU_TYPE:=cortex-a9 CPU_TYPE:=cortex-a9
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -15,7 +15,7 @@ MAINTAINER:=Florian Fainelli <florian@openwrt.org>
CPU_TYPE:=arm1176jzf-s CPU_TYPE:=arm1176jzf-s
CPU_SUBTYPE:=vfp CPU_SUBTYPE:=vfp
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835

View file

@ -12,7 +12,7 @@ BOARDNAME:=Broadcom BCM947xx/953xx
FEATURES:=squashfs usb pcmcia FEATURES:=squashfs usb pcmcia
MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += swconfig wpad-mini nvram \ DEFAULT_PACKAGES += swconfig wpad-mini nvram \

View file

@ -174,7 +174,7 @@
return phy_mii_ioctl(phydev, ifr, cmd); return phy_mii_ioctl(phydev, ifr, cmd);
} }
@@ -17190,8 +17197,10 @@ static int tg3_init_one(struct pci_dev * @@ -17193,8 +17200,10 @@ static int tg3_init_one(struct pci_dev *
tg3_flag_set(tp, FLUSH_POSTED_WRITES); tg3_flag_set(tp, FLUSH_POSTED_WRITES);
if (ssb_gige_one_dma_at_once(pdev)) if (ssb_gige_one_dma_at_once(pdev))
tg3_flag_set(tp, ONE_DMA_AT_ONCE); tg3_flag_set(tp, ONE_DMA_AT_ONCE);
@ -186,7 +186,7 @@
if (ssb_gige_is_rgmii(pdev)) if (ssb_gige_is_rgmii(pdev))
tg3_flag_set(tp, RGMII_MODE); tg3_flag_set(tp, RGMII_MODE);
} }
@@ -17461,7 +17470,7 @@ static int tg3_init_one(struct pci_dev * @@ -17464,7 +17473,7 @@ static int tg3_init_one(struct pci_dev *
if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) { if (tp->phy_flags & TG3_PHYFLG_IS_CONNECTED) {
struct phy_device *phydev; struct phy_device *phydev;

View file

@ -11,7 +11,7 @@ BOARD:=brcm63xx
BOARDNAME:=Broadcom BCM63xx BOARDNAME:=Broadcom BCM63xx
SUBTARGETS:=generic smp SUBTARGETS:=generic smp
FEATURES:=squashfs usb atm pci pcmcia usbgadget FEATURES:=squashfs usb atm pci pcmcia usbgadget
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
MAINTAINER:=Florian Fainelli <florian@openwrt.org> MAINTAINER:=Florian Fainelli <florian@openwrt.org>
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -12,7 +12,7 @@ BOARDNAME:=Cavium Networks Econa CNS21xx
FEATURES:=squashfs FEATURES:=squashfs
CPU_TYPE:=fa526 CPU_TYPE:=fa526
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -208,6 +208,22 @@ config MTD_BCM47XX_PARTS @@ -212,6 +212,22 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx This provides partitions parser for devices based on BCM47xx
boards. boards.
@ -25,7 +25,7 @@
config MTD_BLKDEVS config MTD_BLKDEVS
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o @@ -19,6 +19,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o

View file

@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#define PACKET_FANOUT_LB 1 #define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c --- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c +++ b/net/packet/af_packet.c
@@ -1382,6 +1382,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1403,6 +1403,7 @@ static int packet_rcv_spkt(struct sk_buf
{ {
struct sock *sk; struct sock *sk;
struct sockaddr_pkt *spkt; 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 * When we registered the protocol we saved the socket in the data
@@ -1389,6 +1390,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1410,6 +1411,7 @@ static int packet_rcv_spkt(struct sk_buf
*/ */
sk = pt->af_packet_priv; 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 * Yank back the headers [hope the device set this
@@ -1401,7 +1403,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1422,7 +1424,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop. * so that this procedure is noop.
*/ */
@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
goto out; goto out;
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -1608,12 +1610,12 @@ static int packet_rcv(struct sk_buff *sk @@ -1629,12 +1631,12 @@ static int packet_rcv(struct sk_buff *sk
int skb_len = skb->len; int skb_len = skb->len;
unsigned int snaplen, res; 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))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -1726,12 +1728,12 @@ static int tpacket_rcv(struct sk_buff *s @@ -1747,12 +1749,12 @@ static int tpacket_rcv(struct sk_buff *s
struct timespec ts; struct timespec ts;
__u32 ts_status; __u32 ts_status;
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -2627,6 +2629,7 @@ static int packet_create(struct net *net @@ -2641,6 +2643,7 @@ static int packet_create(struct net *net
spin_lock_init(&po->bind_lock); spin_lock_init(&po->bind_lock);
mutex_init(&po->pg_vec_lock); mutex_init(&po->pg_vec_lock);
po->prot_hook.func = packet_rcv; po->prot_hook.func = packet_rcv;
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (sock->type == SOCK_PACKET) if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt; po->prot_hook.func = packet_rcv_spkt;
@@ -3237,6 +3240,16 @@ packet_setsockopt(struct socket *sock, i @@ -3251,6 +3254,16 @@ packet_setsockopt(struct socket *sock, i
po->tp_tx_has_off = !!val; po->tp_tx_has_off = !!val;
return 0; return 0;
} }
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
default: default:
return -ENOPROTOOPT; return -ENOPROTOOPT;
} }
@@ -3288,6 +3301,13 @@ static int packet_getsockopt(struct sock @@ -3302,6 +3315,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR: case PACKET_VNET_HDR:
val = po->has_vnet_hdr; val = po->has_vnet_hdr;
break; break;

View file

@ -1,6 +1,6 @@
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -1844,7 +1844,7 @@ static inline int pskb_network_may_pull( @@ -1849,7 +1849,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/ */
#ifndef NET_SKB_PAD #ifndef NET_SKB_PAD

View file

@ -14,7 +14,7 @@ when needed.
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -1889,6 +1889,24 @@ static inline void pskb_trim_unique(stru @@ -1894,6 +1894,24 @@ static inline void pskb_trim_unique(stru
BUG_ON(err); BUG_ON(err);
} }

View file

@ -102,7 +102,7 @@
return -EINVAL; return -EINVAL;
--- a/net/ipv6/route.c --- a/net/ipv6/route.c
+++ b/net/ipv6/route.c +++ b/net/ipv6/route.c
@@ -251,6 +251,24 @@ static const struct rt6_info ip6_prohibi @@ -250,6 +250,24 @@ static const struct rt6_info ip6_prohibi
.rt6i_ref = ATOMIC_INIT(1), .rt6i_ref = ATOMIC_INIT(1),
}; };
@ -127,17 +127,19 @@
static const struct rt6_info ip6_blk_hole_entry_template = { static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = { .dst = {
.__refcnt = ATOMIC_INIT(1), .__refcnt = ATOMIC_INIT(1),
@@ -1511,6 +1529,9 @@ int ip6_route_add(struct fib6_config *cf @@ -1509,6 +1527,11 @@ int ip6_route_add(struct fib6_config *cf
case RTN_THROW: rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.error = -EAGAIN; rt->dst.input = ip6_pkt_prohibit;
break; break;
+ case RTN_FAILED_POLICY: + case RTN_FAILED_POLICY:
+ rt->dst.error = -EPERM; + rt->dst.error = -EPERM;
+ rt->dst.output = ip6_pkt_failed_policy_out;
+ rt->dst.input = ip6_pkt_failed_policy;
+ break; + break;
case RTN_THROW:
default: default:
rt->dst.error = -ENETUNREACH; rt->dst.error = (cfg->fc_type == RTN_THROW) ? -EAGAIN
break; @@ -2088,6 +2111,17 @@ static int ip6_pkt_prohibit_out(struct s
@@ -2090,6 +2111,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
} }
@ -152,10 +154,10 @@
+ return ip6_pkt_drop(skb, ICMPV6_POLICY_FAIL, IPSTATS_MIB_OUTNOROUTES); + return ip6_pkt_drop(skb, ICMPV6_POLICY_FAIL, IPSTATS_MIB_OUTNOROUTES);
+} +}
+ +
#endif
/* /*
@@ -2296,7 +2328,8 @@ static int rtm_to_fib6_config(struct sk_ * Allocate a dst for local (unicast / anycast) address.
*/
@@ -2290,7 +2324,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE || if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT || rtm->rtm_type == RTN_PROHIBIT ||
@ -165,7 +167,7 @@
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -2498,6 +2531,9 @@ static int rt6_fill_node(struct net *net @@ -2492,6 +2527,9 @@ static int rt6_fill_node(struct net *net
case -EACCES: case -EACCES:
rtm->rtm_type = RTN_PROHIBIT; rtm->rtm_type = RTN_PROHIBIT;
break; break;
@ -175,7 +177,7 @@
case -EAGAIN: case -EAGAIN:
rtm->rtm_type = RTN_THROW; rtm->rtm_type = RTN_THROW;
break; break;
@@ -2748,6 +2784,8 @@ static int ip6_route_dev_notify(struct n @@ -2742,6 +2780,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -184,7 +186,7 @@
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -3008,6 +3046,17 @@ static int __net_init ip6_route_net_init @@ -3002,6 +3042,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@ -202,7 +204,7 @@
#endif #endif
net->ipv6.sysctl.flush_delay = 0; net->ipv6.sysctl.flush_delay = 0;
@@ -3026,6 +3075,8 @@ out: @@ -3020,6 +3071,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -211,7 +213,7 @@
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -3043,6 +3094,7 @@ static void __net_exit ip6_route_net_exi @@ -3037,6 +3090,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
@ -219,7 +221,7 @@
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
} }
@@ -3139,6 +3191,9 @@ int __init ip6_route_init(void) @@ -3133,6 +3187,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_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->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View file

@ -34,7 +34,7 @@
#define IF_GET_IFACE 0x0001 /* for querying only */ #define IF_GET_IFACE 0x0001 /* for querying only */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -1874,6 +1874,10 @@ static inline int pskb_trim(struct sk_bu @@ -1879,6 +1879,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0; 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 * pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter * @skb: buffer to alter
@@ -1998,16 +2002,6 @@ static inline struct sk_buff *dev_alloc_ @@ -2003,16 +2007,6 @@ static inline struct sk_buff *dev_alloc_
} }

View file

@ -14,7 +14,7 @@ CPU_TYPE:=cortex-a9
CPU_SUBTYPE:=vfpv3 CPU_SUBTYPE:=vfpv3
MAINTAINER:=Luka Perkov <luka@openwrt.org> MAINTAINER:=Luka Perkov <luka@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS=generic harddisk SUBTARGETS=generic harddisk
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ FEATURES:=targz usb jffs2_nand ubifs
CPU_TYPE:=xscale CPU_TYPE:=xscale
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -11,7 +11,7 @@ BOARDNAME:=Lantiq GPON/XWAY/SVIP
FEATURES:=squashfs FEATURES:=squashfs
SUBTARGETS=xway xrx200 ase falcon SUBTARGETS=xway xrx200 ase falcon
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
CPU_TYPE:=mips32r2 CPU_TYPE:=mips32r2

View file

@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/net/phy/Kconfig --- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig
@@ -149,6 +149,11 @@ config MICREL_PHY @@ -153,6 +153,11 @@ config MICREL_PHY
---help--- ---help---
Currently has a driver for the KSZ8041 Currently has a driver for the KSZ8041

View file

@ -12,7 +12,7 @@ SUBTARGETS:=le be le64 be64
INITRAMFS_EXTRA_FILES:= INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org> MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
DEVICE_TYPE:=developerboard DEVICE_TYPE:=developerboard

View file

@ -14,7 +14,7 @@ FEATURES:=spe_fpu squashfs
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS=generic p1020 SUBTARGETS=generic p1020
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -14,7 +14,7 @@ CPU_TYPE:=cortex-a9
CPU_SUBTYPE:=vfpv3 CPU_SUBTYPE:=vfpv3
MAINTAINER:=Luka Perkov <luka@openwrt.org> MAINTAINER:=Luka Perkov <luka@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -14,7 +14,7 @@ CPU_TYPE:=octeon
CPU_CFLAGS_octeon:=-march=octeon CPU_CFLAGS_octeon:=-march=octeon
MAINTAINER:=John Crispin <blogic@openwrt.org> MAINTAINER:=John Crispin <blogic@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs
CPU_TYPE:=405 CPU_TYPE:=405
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs broken
CPU_TYPE:=440 CPU_TYPE:=440
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -12,7 +12,7 @@ BOARDNAME:=Ralink RT288x/RT3xxx
SUBTARGETS:=rt305x mt7620a mt7620n mt7621 rt3883 rt288x SUBTARGETS:=rt305x mt7620a mt7620n mt7621 rt3883 rt288x
FEATURES:=squashfs gpio FEATURES:=squashfs gpio
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES+=\ DEFAULT_PACKAGES+=\

View file

@ -16,11 +16,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/irq-gic.c | 15 +++++++-------- arch/mips/kernel/irq-gic.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-) 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/arch/mips/kernel/irq-gic.c b/arch/mips/kernel/irq-gic.c
index c01b307..5b5ddb2 100644
--- a/arch/mips/kernel/irq-gic.c --- a/arch/mips/kernel/irq-gic.c
+++ b/arch/mips/kernel/irq-gic.c +++ b/arch/mips/kernel/irq-gic.c
@@ -219,16 +219,15 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask, @@ -219,16 +219,15 @@ static int gic_set_affinity(struct irq_d
/* Assumption : cpumask refers to a single CPU */ /* Assumption : cpumask refers to a single CPU */
spin_lock_irqsave(&gic_lock, flags); spin_lock_irqsave(&gic_lock, flags);
@ -44,6 +42,3 @@ index c01b307..5b5ddb2 100644
cpumask_copy(d->affinity, cpumask); cpumask_copy(d->affinity, cpumask);
spin_unlock_irqrestore(&gic_lock, flags); spin_unlock_irqrestore(&gic_lock, flags);
--
1.7.10.4

View file

@ -40,11 +40,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Kconfig | 1 + arch/mips/Kconfig | 1 +
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index e82c066..b537fb1 100644
--- a/arch/mips/Kconfig --- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig +++ b/arch/mips/Kconfig
@@ -2010,6 +2010,7 @@ config MIPS_VPE_APSP_API @@ -2038,6 +2038,7 @@ config MIPS_VPE_APSP_API
config MIPS_CMP config MIPS_CMP
bool "MIPS CMP framework support" bool "MIPS CMP framework support"
depends on SYS_SUPPORTS_MIPS_CMP depends on SYS_SUPPORTS_MIPS_CMP
@ -52,6 +50,3 @@ index e82c066..b537fb1 100644
select SYNC_R4K select SYNC_R4K
select SYS_SUPPORTS_SMP select SYS_SUPPORTS_SMP
select SYS_SUPPORTS_SCHED_SMT if SMP select SYS_SUPPORTS_SCHED_SMT if SMP
--
1.7.10.4

View file

@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/smp-cmp.c | 13 +++++++++++-- arch/mips/kernel/smp-cmp.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-) 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/arch/mips/kernel/smp-cmp.c b/arch/mips/kernel/smp-cmp.c
index c2e5d74..5969f1e 100644
--- a/arch/mips/kernel/smp-cmp.c --- a/arch/mips/kernel/smp-cmp.c
+++ b/arch/mips/kernel/smp-cmp.c +++ b/arch/mips/kernel/smp-cmp.c
@@ -99,7 +99,9 @@ static void cmp_init_secondary(void) @@ -99,7 +99,9 @@ static void cmp_init_secondary(void)
@ -52,6 +50,3 @@ index c2e5d74..5969f1e 100644
smp_num_siblings = nvpe; smp_num_siblings = nvpe;
} }
pr_info("Detected %i available secondary CPU(s)\n", ncpu); pr_info("Detected %i available secondary CPU(s)\n", ncpu);
--
1.7.10.4

View file

@ -10,11 +10,9 @@ Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
arch/mips/kernel/smp-mt.c | 32 ++++++++++++++++++++++++++++++++ arch/mips/kernel/smp-mt.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+) 1 file changed, 32 insertions(+)
diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
index 2f8c468..d057c84 100644
--- a/arch/mips/kernel/smp-mt.c --- a/arch/mips/kernel/smp-mt.c
+++ b/arch/mips/kernel/smp-mt.c +++ b/arch/mips/kernel/smp-mt.c
@@ -71,6 +71,7 @@ static unsigned int __init smvp_vpe_init(unsigned int tc, unsigned int mvpconf0, @@ -71,6 +71,7 @@ static unsigned int __init smvp_vpe_init
/* Record this as available CPU */ /* Record this as available CPU */
set_cpu_possible(tc, true); set_cpu_possible(tc, true);
@ -22,7 +20,7 @@ index 2f8c468..d057c84 100644
__cpu_number_map[tc] = ++ncpu; __cpu_number_map[tc] = ++ncpu;
__cpu_logical_map[ncpu] = tc; __cpu_logical_map[ncpu] = tc;
} }
@@ -112,12 +113,35 @@ static void __init smvp_tc_init(unsigned int tc, unsigned int mvpconf0) @@ -112,12 +113,35 @@ static void __init smvp_tc_init(unsigned
write_tc_c0_tchalt(TCHALT_H); write_tc_c0_tchalt(TCHALT_H);
} }
@ -58,7 +56,7 @@ index 2f8c468..d057c84 100644
local_irq_save(flags); local_irq_save(flags);
vpflags = dvpe(); /* can't access the other CPU's registers whilst MVPE enabled */ vpflags = dvpe(); /* can't access the other CPU's registers whilst MVPE enabled */
@@ -164,6 +188,8 @@ static void __cpuinit vsmp_init_secondary(void) @@ -164,6 +188,8 @@ static void __cpuinit vsmp_init_secondar
static void __cpuinit vsmp_smp_finish(void) static void __cpuinit vsmp_smp_finish(void)
{ {
@ -67,7 +65,7 @@ index 2f8c468..d057c84 100644
/* CDFIXME: remove this? */ /* CDFIXME: remove this? */
write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ)); write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ));
@@ -178,6 +204,7 @@ static void __cpuinit vsmp_smp_finish(void) @@ -178,6 +204,7 @@ static void __cpuinit vsmp_smp_finish(vo
static void vsmp_cpus_done(void) static void vsmp_cpus_done(void)
{ {
@ -101,6 +99,3 @@ index 2f8c468..d057c84 100644
mips_mt_set_cpuoptions(); mips_mt_set_cpuoptions();
} }
--
1.7.10.4

View file

@ -1,8 +1,6 @@
Index: linux-3.10.26/drivers/usb/core/hub.c --- a/drivers/usb/core/hub.c
=================================================================== +++ b/drivers/usb/core/hub.c
--- linux-3.10.26.orig/drivers/usb/core/hub.c 2014-01-09 20:25:15.000000000 +0000 @@ -1259,7 +1259,7 @@ static void hub_quiesce(struct usb_hub *
+++ linux-3.10.26/drivers/usb/core/hub.c 2014-01-19 16:29:18.548615960 +0000
@@ -1259,7 +1259,7 @@
if (type != HUB_SUSPEND) { if (type != HUB_SUSPEND) {
/* Disconnect all the children */ /* Disconnect all the children */
for (i = 0; i < hdev->maxchild; ++i) { for (i = 0; i < hdev->maxchild; ++i) {
@ -11,11 +9,9 @@ Index: linux-3.10.26/drivers/usb/core/hub.c
usb_disconnect(&hub->ports[i]->child); usb_disconnect(&hub->ports[i]->child);
} }
} }
Index: linux-3.10.26/drivers/usb/core/port.c --- a/drivers/usb/core/port.c
=================================================================== +++ b/drivers/usb/core/port.c
--- linux-3.10.26.orig/drivers/usb/core/port.c 2014-01-09 20:25:15.000000000 +0000 @@ -193,6 +193,7 @@ exit:
+++ linux-3.10.26/drivers/usb/core/port.c 2014-01-19 16:29:18.548615960 +0000
@@ -193,6 +193,7 @@
void usb_hub_remove_port_device(struct usb_hub *hub, void usb_hub_remove_port_device(struct usb_hub *hub,
int port1) int port1)
{ {
@ -24,11 +20,9 @@ Index: linux-3.10.26/drivers/usb/core/port.c
+ device_unregister(&hub->ports[port1 - 1]->dev); + device_unregister(&hub->ports[port1 - 1]->dev);
} }
Index: linux-3.10.26/drivers/usb/host/Kconfig --- a/drivers/usb/host/Kconfig
=================================================================== +++ b/drivers/usb/host/Kconfig
--- linux-3.10.26.orig/drivers/usb/host/Kconfig 2014-01-09 20:25:15.000000000 +0000 @@ -28,7 +28,11 @@ config USB_XHCI_HCD
+++ linux-3.10.26/drivers/usb/host/Kconfig 2014-01-19 16:29:18.548615960 +0000
@@ -28,7 +28,11 @@
if USB_XHCI_HCD if USB_XHCI_HCD
config USB_XHCI_PLATFORM config USB_XHCI_PLATFORM
@ -41,11 +35,9 @@ Index: linux-3.10.26/drivers/usb/host/Kconfig
config USB_XHCI_HCD_DEBUGGING config USB_XHCI_HCD_DEBUGGING
bool "Debugging for the xHCI host controller" bool "Debugging for the xHCI host controller"
Index: linux-3.10.26/drivers/usb/host/Makefile --- a/drivers/usb/host/Makefile
=================================================================== +++ b/drivers/usb/host/Makefile
--- linux-3.10.26.orig/drivers/usb/host/Makefile 2014-01-09 20:25:15.000000000 +0000 @@ -13,15 +13,23 @@ fhci-$(CONFIG_FHCI_DEBUG) += fhci-dbg.o
+++ linux-3.10.26/drivers/usb/host/Makefile 2014-01-19 16:30:54.964617843 +0000
@@ -13,15 +13,23 @@
xhci-hcd-y := xhci.o xhci-mem.o xhci-hcd-y := xhci.o xhci-mem.o
xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o
@ -70,10 +62,8 @@ Index: linux-3.10.26/drivers/usb/host/Makefile
obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
Index: linux-3.10.26/drivers/usb/host/pci-quirks.h --- a/drivers/usb/host/pci-quirks.h
=================================================================== +++ b/drivers/usb/host/pci-quirks.h
--- linux-3.10.26.orig/drivers/usb/host/pci-quirks.h 2014-01-19 16:29:17.392615927 +0000
+++ linux-3.10.26/drivers/usb/host/pci-quirks.h 2014-01-19 16:29:18.548615960 +0000
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
#ifndef __LINUX_USB_PCI_QUIRKS_H #ifndef __LINUX_USB_PCI_QUIRKS_H
#define __LINUX_USB_PCI_QUIRKS_H #define __LINUX_USB_PCI_QUIRKS_H
@ -82,11 +72,9 @@ Index: linux-3.10.26/drivers/usb/host/pci-quirks.h
+#if defined (CONFIG_PCI) && !defined (CONFIG_USB_MT7621_XHCI_PLATFORM) +#if defined (CONFIG_PCI) && !defined (CONFIG_USB_MT7621_XHCI_PLATFORM)
void uhci_reset_hc(struct pci_dev *pdev, unsigned long base); void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base); int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
bool usb_is_intel_switchable_xhci(struct pci_dev *pdev); #endif /* CONFIG_PCI */
Index: linux-3.10.26/drivers/usb/host/xhci.c --- a/drivers/usb/host/xhci.c
=================================================================== +++ b/drivers/usb/host/xhci.c
--- linux-3.10.26.orig/drivers/usb/host/xhci.c 2014-01-09 20:25:15.000000000 +0000
+++ linux-3.10.26/drivers/usb/host/xhci.c 2014-01-19 16:29:18.548615960 +0000
@@ -30,6 +30,16 @@ @@ -30,6 +30,16 @@
#include "xhci.h" #include "xhci.h"
@ -104,7 +92,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
#define DRIVER_AUTHOR "Sarah Sharp" #define DRIVER_AUTHOR "Sarah Sharp"
#define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver" #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
@@ -38,6 +48,18 @@ @@ -38,6 +48,18 @@ static int link_quirk;
module_param(link_quirk, int, S_IRUGO | S_IWUSR); module_param(link_quirk, int, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(link_quirk, "Don't clear the chain bit on a link TRB"); MODULE_PARM_DESC(link_quirk, "Don't clear the chain bit on a link TRB");
@ -123,7 +111,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
/* TODO: copied from ehci-hcd.c - can this be refactored? */ /* TODO: copied from ehci-hcd.c - can this be refactored? */
/* /*
* xhci_handshake - spin reading hc until handshake completes or fails * xhci_handshake - spin reading hc until handshake completes or fails
@@ -189,7 +211,7 @@ @@ -189,7 +211,7 @@ int xhci_reset(struct xhci_hcd *xhci)
return ret; return ret;
} }
@ -132,7 +120,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
static int xhci_free_msi(struct xhci_hcd *xhci) static int xhci_free_msi(struct xhci_hcd *xhci)
{ {
int i; int i;
@@ -386,6 +408,7 @@ @@ -386,6 +408,7 @@ static int xhci_try_enable_msi(struct us
return ret; return ret;
} }
hcd->irq = pdev->irq; hcd->irq = pdev->irq;
@ -140,7 +128,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
return 0; return 0;
} }
@@ -427,6 +450,11 @@ @@ -427,6 +450,11 @@ static void compliance_mode_recovery(uns
xhci_dbg(xhci, "Attempting compliance mode recovery\n"); xhci_dbg(xhci, "Attempting compliance mode recovery\n");
hcd = xhci->shared_hcd; hcd = xhci->shared_hcd;
@ -152,7 +140,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
if (hcd->state == HC_STATE_SUSPENDED) if (hcd->state == HC_STATE_SUSPENDED)
usb_hcd_resume_root_hub(hcd); usb_hcd_resume_root_hub(hcd);
@@ -475,6 +503,9 @@ @@ -475,6 +503,9 @@ bool xhci_compliance_mode_recovery_timer
{ {
const char *dmi_product_name, *dmi_sys_vendor; const char *dmi_product_name, *dmi_sys_vendor;
@ -162,7 +150,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME); dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR); dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR);
if (!dmi_product_name || !dmi_sys_vendor) if (!dmi_product_name || !dmi_sys_vendor)
@@ -518,6 +549,10 @@ @@ -518,6 +549,10 @@ int xhci_init(struct usb_hcd *hcd)
} else { } else {
xhci_dbg(xhci, "xHCI doesn't need link TRB QUIRK\n"); xhci_dbg(xhci, "xHCI doesn't need link TRB QUIRK\n");
} }
@ -173,7 +161,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
retval = xhci_mem_init(xhci, GFP_KERNEL); retval = xhci_mem_init(xhci, GFP_KERNEL);
xhci_dbg(xhci, "Finished xhci_init\n"); xhci_dbg(xhci, "Finished xhci_init\n");
@@ -661,7 +696,11 @@ @@ -661,7 +696,11 @@ int xhci_run(struct usb_hcd *hcd)
xhci_dbg(xhci, "// Set the interrupt modulation register\n"); xhci_dbg(xhci, "// Set the interrupt modulation register\n");
temp = xhci_readl(xhci, &xhci->ir_set->irq_control); temp = xhci_readl(xhci, &xhci->ir_set->irq_control);
temp &= ~ER_IRQ_INTERVAL_MASK; temp &= ~ER_IRQ_INTERVAL_MASK;
@ -185,7 +173,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
xhci_writel(xhci, temp, &xhci->ir_set->irq_control); xhci_writel(xhci, temp, &xhci->ir_set->irq_control);
/* Set the HCD state before we enable the irqs */ /* Set the HCD state before we enable the irqs */
@@ -682,6 +721,9 @@ @@ -682,6 +721,9 @@ int xhci_run(struct usb_hcd *hcd)
xhci_queue_vendor_command(xhci, 0, 0, 0, xhci_queue_vendor_command(xhci, 0, 0, 0,
TRB_TYPE(TRB_NEC_GET_FW)); TRB_TYPE(TRB_NEC_GET_FW));
@ -195,7 +183,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
xhci_dbg(xhci, "Finished xhci_run for USB2 roothub\n"); xhci_dbg(xhci, "Finished xhci_run for USB2 roothub\n");
return 0; return 0;
} }
@@ -999,7 +1041,6 @@ @@ -999,7 +1041,6 @@ int xhci_resume(struct xhci_hcd *xhci, b
/* If restore operation fails, re-initialize the HC during resume */ /* If restore operation fails, re-initialize the HC during resume */
if ((temp & STS_SRE) || hibernated) { if ((temp & STS_SRE) || hibernated) {
@ -203,7 +191,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
if ((xhci->quirks & XHCI_COMP_MODE_QUIRK) && if ((xhci->quirks & XHCI_COMP_MODE_QUIRK) &&
!(xhci_all_ports_seen_u0(xhci))) { !(xhci_all_ports_seen_u0(xhci))) {
del_timer_sync(&xhci->comp_mode_recovery_timer); del_timer_sync(&xhci->comp_mode_recovery_timer);
@@ -1583,6 +1624,13 @@ @@ -1583,6 +1624,13 @@ int xhci_drop_endpoint(struct usb_hcd *h
u32 drop_flag; u32 drop_flag;
u32 new_add_flags, new_drop_flags, new_slot_info; u32 new_add_flags, new_drop_flags, new_slot_info;
int ret; int ret;
@ -217,7 +205,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__); ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0) if (ret <= 0)
@@ -1634,6 +1682,40 @@ @@ -1634,6 +1682,40 @@ int xhci_drop_endpoint(struct usb_hcd *h
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep); xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
@ -258,7 +246,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x, new slot info = %#x\n", xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x, new slot info = %#x\n",
(unsigned int) ep->desc.bEndpointAddress, (unsigned int) ep->desc.bEndpointAddress,
udev->slot_id, udev->slot_id,
@@ -1669,6 +1751,18 @@ @@ -1669,6 +1751,18 @@ int xhci_add_endpoint(struct usb_hcd *hc
u32 new_add_flags, new_drop_flags, new_slot_info; u32 new_add_flags, new_drop_flags, new_slot_info;
struct xhci_virt_device *virt_dev; struct xhci_virt_device *virt_dev;
int ret = 0; int ret = 0;
@ -277,7 +265,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__); ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0) { if (ret <= 0) {
@@ -1731,6 +1825,56 @@ @@ -1731,6 +1825,56 @@ int xhci_add_endpoint(struct usb_hcd *hc
return -ENOMEM; return -ENOMEM;
} }
@ -334,7 +322,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs); ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags); new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
@@ -2694,7 +2838,7 @@ @@ -2694,7 +2838,7 @@ int xhci_check_bandwidth(struct usb_hcd
if (ctrl_ctx->add_flags == cpu_to_le32(SLOT_FLAG) && if (ctrl_ctx->add_flags == cpu_to_le32(SLOT_FLAG) &&
ctrl_ctx->drop_flags == 0) ctrl_ctx->drop_flags == 0)
return 0; return 0;
@ -343,7 +331,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
xhci_dbg(xhci, "New Input Control Context:\n"); xhci_dbg(xhci, "New Input Control Context:\n");
slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->in_ctx); slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->in_ctx);
xhci_dbg_ctx(xhci, virt_dev->in_ctx, xhci_dbg_ctx(xhci, virt_dev->in_ctx,
@@ -4230,10 +4374,14 @@ @@ -4230,10 +4374,14 @@ static u16 xhci_call_host_update_timeout
u16 *timeout) u16 *timeout)
{ {
if (state == USB3_LPM_U1) { if (state == USB3_LPM_U1) {
@ -358,7 +346,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
return xhci_calculate_intel_u2_timeout(udev, desc); return xhci_calculate_intel_u2_timeout(udev, desc);
} }
@@ -4659,7 +4807,9 @@ @@ -4659,7 +4807,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
/* Accept arbitrarily long scatter-gather lists */ /* Accept arbitrarily long scatter-gather lists */
hcd->self.sg_tablesize = ~0; hcd->self.sg_tablesize = ~0;
/* XHCI controllers don't stop the ep queue on short packets :| */ /* XHCI controllers don't stop the ep queue on short packets :| */
@ -368,7 +356,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
if (usb_hcd_is_primary_hcd(hcd)) { if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL); xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
@@ -4728,6 +4878,10 @@ @@ -4728,6 +4878,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
goto error; goto error;
xhci_dbg(xhci, "Reset complete\n"); xhci_dbg(xhci, "Reset complete\n");
@ -379,7 +367,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
temp = xhci_readl(xhci, &xhci->cap_regs->hcc_params); temp = xhci_readl(xhci, &xhci->cap_regs->hcc_params);
if (HCC_64BIT_ADDR(temp)) { if (HCC_64BIT_ADDR(temp)) {
xhci_dbg(xhci, "Enabling 64-bit DMA addresses.\n"); xhci_dbg(xhci, "Enabling 64-bit DMA addresses.\n");
@@ -4752,8 +4906,21 @@ @@ -4752,8 +4906,21 @@ MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -401,7 +389,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
int retval; int retval;
retval = xhci_register_pci(); retval = xhci_register_pci();
@@ -4766,6 +4933,33 @@ @@ -4766,6 +4933,33 @@ static int __init xhci_hcd_init(void)
printk(KERN_DEBUG "Problem registering platform driver."); printk(KERN_DEBUG "Problem registering platform driver.");
goto unreg_pci; goto unreg_pci;
} }
@ -435,7 +423,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
/* /*
* Check the compiler generated sizes of structures that must be laid * Check the compiler generated sizes of structures that must be laid
* out in specific ways for hardware access. * out in specific ways for hardware access.
@@ -4783,6 +4977,7 @@ @@ -4783,6 +4977,7 @@ static int __init xhci_hcd_init(void)
BUILD_BUG_ON(sizeof(struct xhci_intr_reg) != 8*32/8); BUILD_BUG_ON(sizeof(struct xhci_intr_reg) != 8*32/8);
/* xhci_run_regs has eight fields and embeds 128 xhci_intr_regs */ /* xhci_run_regs has eight fields and embeds 128 xhci_intr_regs */
BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8); BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8);
@ -443,10 +431,8 @@ Index: linux-3.10.26/drivers/usb/host/xhci.c
return 0; return 0;
unreg_pci: unreg_pci:
xhci_unregister_pci(); xhci_unregister_pci();
Index: linux-3.10.26/drivers/usb/host/xhci-dbg.c --- a/drivers/usb/host/xhci-dbg.c
=================================================================== +++ b/drivers/usb/host/xhci-dbg.c
--- linux-3.10.26.orig/drivers/usb/host/xhci-dbg.c 2014-01-09 20:25:15.000000000 +0000
+++ linux-3.10.26/drivers/usb/host/xhci-dbg.c 2014-01-19 16:29:18.548615960 +0000
@@ -21,6 +21,9 @@ @@ -21,6 +21,9 @@
*/ */
@ -457,10 +443,8 @@ Index: linux-3.10.26/drivers/usb/host/xhci-dbg.c
#define XHCI_INIT_VALUE 0x0 #define XHCI_INIT_VALUE 0x0
Index: linux-3.10.26/drivers/usb/host/xhci.h --- a/drivers/usb/host/xhci.h
=================================================================== +++ b/drivers/usb/host/xhci.h
--- linux-3.10.26.orig/drivers/usb/host/xhci.h 2014-01-09 20:25:15.000000000 +0000
+++ linux-3.10.26/drivers/usb/host/xhci.h 2014-01-19 16:29:18.548615960 +0000
@@ -29,9 +29,24 @@ @@ -29,9 +29,24 @@
#include <linux/usb/hcd.h> #include <linux/usb/hcd.h>
@ -487,7 +471,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.h
/* xHCI PCI Configuration Registers */ /* xHCI PCI Configuration Registers */
#define XHCI_SBRN_OFFSET (0x60) #define XHCI_SBRN_OFFSET (0x60)
@@ -1536,8 +1551,12 @@ @@ -1536,8 +1551,12 @@ struct xhci_hcd {
/* Compliance Mode Recovery Data */ /* Compliance Mode Recovery Data */
struct timer_list comp_mode_recovery_timer; struct timer_list comp_mode_recovery_timer;
u32 port_status_u0; u32 port_status_u0;
@ -500,7 +484,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci.h
}; };
/* convert between an HCD pointer and the corresponding EHCI_HCD */ /* convert between an HCD pointer and the corresponding EHCI_HCD */
@@ -1703,7 +1722,7 @@ @@ -1703,7 +1722,7 @@ void xhci_urb_free_priv(struct xhci_hcd
void xhci_free_command(struct xhci_hcd *xhci, void xhci_free_command(struct xhci_hcd *xhci,
struct xhci_command *command); struct xhci_command *command);
@ -509,11 +493,9 @@ Index: linux-3.10.26/drivers/usb/host/xhci.h
/* xHCI PCI glue */ /* xHCI PCI glue */
int xhci_register_pci(void); int xhci_register_pci(void);
void xhci_unregister_pci(void); void xhci_unregister_pci(void);
Index: linux-3.10.26/drivers/usb/host/xhci-mem.c --- a/drivers/usb/host/xhci-mem.c
=================================================================== +++ b/drivers/usb/host/xhci-mem.c
--- linux-3.10.26.orig/drivers/usb/host/xhci-mem.c 2014-01-09 20:25:15.000000000 +0000 @@ -65,6 +65,9 @@ static struct xhci_segment *xhci_segment
+++ linux-3.10.26/drivers/usb/host/xhci-mem.c 2014-01-19 16:29:18.548615960 +0000
@@ -65,6 +65,9 @@
static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg)
{ {
@ -523,7 +505,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-mem.c
if (seg->trbs) { if (seg->trbs) {
dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma);
seg->trbs = NULL; seg->trbs = NULL;
@@ -1446,9 +1449,17 @@ @@ -1446,9 +1449,17 @@ int xhci_endpoint_init(struct xhci_hcd *
max_burst = (usb_endpoint_maxp(&ep->desc) max_burst = (usb_endpoint_maxp(&ep->desc)
& 0x1800) >> 11; & 0x1800) >> 11;
} }
@ -541,11 +523,9 @@ Index: linux-3.10.26/drivers/usb/host/xhci-mem.c
break; break;
default: default:
BUG(); BUG();
Index: linux-3.10.26/drivers/usb/host/xhci-plat.c --- a/drivers/usb/host/xhci-plat.c
=================================================================== +++ b/drivers/usb/host/xhci-plat.c
--- linux-3.10.26.orig/drivers/usb/host/xhci-plat.c 2014-01-09 20:25:15.000000000 +0000 @@ -25,6 +25,13 @@ static void xhci_plat_quirks(struct devi
+++ linux-3.10.26/drivers/usb/host/xhci-plat.c 2014-01-19 16:29:18.548615960 +0000
@@ -25,6 +25,13 @@
* dev struct in order to setup MSI * dev struct in order to setup MSI
*/ */
xhci->quirks |= XHCI_PLAT; xhci->quirks |= XHCI_PLAT;
@ -559,7 +539,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-plat.c
} }
/* called during probe() after chip reset completes */ /* called during probe() after chip reset completes */
@@ -96,20 +103,32 @@ @@ -96,20 +103,32 @@ static int xhci_plat_probe(struct platfo
driver = &xhci_plat_xhci_driver; driver = &xhci_plat_xhci_driver;
@ -592,11 +572,9 @@ Index: linux-3.10.26/drivers/usb/host/xhci-plat.c
if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
driver->description)) { driver->description)) {
Index: linux-3.10.26/drivers/usb/host/xhci-ring.c --- a/drivers/usb/host/xhci-ring.c
=================================================================== +++ b/drivers/usb/host/xhci-ring.c
--- linux-3.10.26.orig/drivers/usb/host/xhci-ring.c 2014-01-09 20:25:15.000000000 +0000 @@ -236,7 +236,6 @@ static void inc_enq(struct xhci_hcd *xhc
+++ linux-3.10.26/drivers/usb/host/xhci-ring.c 2014-01-19 16:29:18.548615960 +0000
@@ -236,7 +236,6 @@
*/ */
if (!chain && !more_trbs_coming) if (!chain && !more_trbs_coming)
break; break;
@ -604,7 +582,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
/* If we're not dealing with 0.95 hardware or /* If we're not dealing with 0.95 hardware or
* isoc rings on AMD 0.96 host, * isoc rings on AMD 0.96 host,
* carry over the chain bit of the previous TRB * carry over the chain bit of the previous TRB
@@ -273,16 +272,20 @@ @@ -273,16 +272,20 @@ static void inc_enq(struct xhci_hcd *xhc
static inline int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring, static inline int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring,
unsigned int num_trbs) unsigned int num_trbs)
{ {
@ -625,7 +603,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
return 1; return 1;
} }
@@ -2910,6 +2913,7 @@ @@ -2910,6 +2913,7 @@ static int prepare_ring(struct xhci_hcd
next = ring->enqueue; next = ring->enqueue;
while (last_trb(xhci, ring, ring->enq_seg, next)) { while (last_trb(xhci, ring, ring->enq_seg, next)) {
@ -633,7 +611,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
/* If we're not dealing with 0.95 hardware or isoc rings /* If we're not dealing with 0.95 hardware or isoc rings
* on AMD 0.96 host, clear the chain bit. * on AMD 0.96 host, clear the chain bit.
*/ */
@@ -2919,7 +2923,9 @@ @@ -2919,7 +2923,9 @@ static int prepare_ring(struct xhci_hcd
next->link.control &= cpu_to_le32(~TRB_CHAIN); next->link.control &= cpu_to_le32(~TRB_CHAIN);
else else
next->link.control |= cpu_to_le32(TRB_CHAIN); next->link.control |= cpu_to_le32(TRB_CHAIN);
@ -644,7 +622,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
wmb(); wmb();
next->link.control ^= cpu_to_le32(TRB_CYCLE); next->link.control ^= cpu_to_le32(TRB_CYCLE);
@@ -3049,6 +3055,9 @@ @@ -3049,6 +3055,9 @@ static void giveback_first_trb(struct xh
start_trb->field[3] |= cpu_to_le32(start_cycle); start_trb->field[3] |= cpu_to_le32(start_cycle);
else else
start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE); start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE);
@ -654,7 +632,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id); xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
} }
@@ -3108,6 +3117,29 @@ @@ -3108,6 +3117,29 @@ static u32 xhci_td_remainder(unsigned in
return (remainder >> 10) << 17; return (remainder >> 10) << 17;
} }
@ -684,7 +662,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
/* /*
* For xHCI 1.0 host controllers, TD size is the number of max packet sized * For xHCI 1.0 host controllers, TD size is the number of max packet sized
* packets remaining in the TD (*not* including this TRB). * packets remaining in the TD (*not* including this TRB).
@@ -3245,6 +3277,7 @@ @@ -3245,6 +3277,7 @@ static int queue_bulk_sg_tx(struct xhci_
} }
/* Set the TRB length, TD size, and interrupter fields. */ /* Set the TRB length, TD size, and interrupter fields. */
@ -692,7 +670,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
if (xhci->hci_version < 0x100) { if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder( remainder = xhci_td_remainder(
urb->transfer_buffer_length - urb->transfer_buffer_length -
@@ -3254,6 +3287,13 @@ @@ -3254,6 +3287,13 @@ static int queue_bulk_sg_tx(struct xhci_
trb_buff_len, total_packet_count, urb, trb_buff_len, total_packet_count, urb,
num_trbs - 1); num_trbs - 1);
} }
@ -706,7 +684,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
length_field = TRB_LEN(trb_buff_len) | length_field = TRB_LEN(trb_buff_len) |
remainder | remainder |
TRB_INTR_TARGET(0); TRB_INTR_TARGET(0);
@@ -3316,6 +3356,9 @@ @@ -3316,6 +3356,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
int running_total, trb_buff_len, ret; int running_total, trb_buff_len, ret;
unsigned int total_packet_count; unsigned int total_packet_count;
u64 addr; u64 addr;
@ -716,7 +694,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
if (urb->num_sgs) if (urb->num_sgs)
return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index); return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
@@ -3341,6 +3384,25 @@ @@ -3341,6 +3384,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
running_total += TRB_MAX_BUFF_SIZE; running_total += TRB_MAX_BUFF_SIZE;
} }
/* FIXME: this doesn't deal with URB_ZERO_PACKET - need one more */ /* FIXME: this doesn't deal with URB_ZERO_PACKET - need one more */
@ -742,7 +720,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
ret = prepare_transfer(xhci, xhci->devs[slot_id], ret = prepare_transfer(xhci, xhci->devs[slot_id],
ep_index, urb->stream_id, ep_index, urb->stream_id,
@@ -3400,6 +3462,7 @@ @@ -3400,6 +3462,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
field |= TRB_ISP; field |= TRB_ISP;
/* Set the TRB length, TD size, and interrupter fields. */ /* Set the TRB length, TD size, and interrupter fields. */
@ -750,7 +728,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
if (xhci->hci_version < 0x100) { if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder( remainder = xhci_td_remainder(
urb->transfer_buffer_length - urb->transfer_buffer_length -
@@ -3409,6 +3472,10 @@ @@ -3409,6 +3472,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
trb_buff_len, total_packet_count, urb, trb_buff_len, total_packet_count, urb,
num_trbs - 1); num_trbs - 1);
} }
@ -761,7 +739,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
length_field = TRB_LEN(trb_buff_len) | length_field = TRB_LEN(trb_buff_len) |
remainder | remainder |
TRB_INTR_TARGET(0); TRB_INTR_TARGET(0);
@@ -3498,7 +3565,11 @@ @@ -3498,7 +3565,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field |= 0x1; field |= 0x1;
/* xHCI 1.0 6.4.1.2.1: Transfer Type field */ /* xHCI 1.0 6.4.1.2.1: Transfer Type field */
@ -773,7 +751,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
if (urb->transfer_buffer_length > 0) { if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN) if (setup->bRequestType & USB_DIR_IN)
field |= TRB_TX_TYPE(TRB_DATA_IN); field |= TRB_TX_TYPE(TRB_DATA_IN);
@@ -3522,7 +3593,12 @@ @@ -3522,7 +3593,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field = TRB_TYPE(TRB_DATA); field = TRB_TYPE(TRB_DATA);
length_field = TRB_LEN(urb->transfer_buffer_length) | length_field = TRB_LEN(urb->transfer_buffer_length) |
@ -786,7 +764,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
TRB_INTR_TARGET(0); TRB_INTR_TARGET(0);
if (urb->transfer_buffer_length > 0) { if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN) if (setup->bRequestType & USB_DIR_IN)
@@ -3533,7 +3609,7 @@ @@ -3533,7 +3609,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
length_field, length_field,
field | ep_ring->cycle_state); field | ep_ring->cycle_state);
} }
@ -795,7 +773,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
/* Save the DMA address of the last TRB in the TD */ /* Save the DMA address of the last TRB in the TD */
td->last_trb = ep_ring->enqueue; td->last_trb = ep_ring->enqueue;
@@ -3645,6 +3721,9 @@ @@ -3645,6 +3721,9 @@ static int xhci_queue_isoc_tx(struct xhc
u64 start_addr, addr; u64 start_addr, addr;
int i, j; int i, j;
bool more_trbs_coming; bool more_trbs_coming;
@ -805,7 +783,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
ep_ring = xhci->devs[slot_id]->eps[ep_index].ring; ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
@@ -3658,6 +3737,21 @@ @@ -3658,6 +3737,21 @@ static int xhci_queue_isoc_tx(struct xhc
start_trb = &ep_ring->enqueue->generic; start_trb = &ep_ring->enqueue->generic;
start_cycle = ep_ring->cycle_state; start_cycle = ep_ring->cycle_state;
@ -827,7 +805,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
urb_priv = urb->hcpriv; urb_priv = urb->hcpriv;
/* Queue the first TRB, even if it's zero-length */ /* Queue the first TRB, even if it's zero-length */
for (i = 0; i < num_tds; i++) { for (i = 0; i < num_tds; i++) {
@@ -3729,9 +3823,13 @@ @@ -3729,9 +3823,13 @@ static int xhci_queue_isoc_tx(struct xhc
} else { } else {
td->last_trb = ep_ring->enqueue; td->last_trb = ep_ring->enqueue;
field |= TRB_IOC; field |= TRB_IOC;
@ -841,7 +819,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
/* Set BEI bit except for the last td */ /* Set BEI bit except for the last td */
if (i < num_tds - 1) if (i < num_tds - 1)
field |= TRB_BEI; field |= TRB_BEI;
@@ -3746,6 +3844,7 @@ @@ -3746,6 +3844,7 @@ static int xhci_queue_isoc_tx(struct xhc
trb_buff_len = td_remain_len; trb_buff_len = td_remain_len;
/* Set the TRB length, TD size, & interrupter fields. */ /* Set the TRB length, TD size, & interrupter fields. */
@ -849,7 +827,7 @@ Index: linux-3.10.26/drivers/usb/host/xhci-ring.c
if (xhci->hci_version < 0x100) { if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder( remainder = xhci_td_remainder(
td_len - running_total); td_len - running_total);
@@ -3755,6 +3854,10 @@ @@ -3755,6 +3854,10 @@ static int xhci_queue_isoc_tx(struct xhc
total_packet_count, urb, total_packet_count, urb,
(trbs_per_td - j - 1)); (trbs_per_td - j - 1));
} }

View file

@ -1,8 +1,6 @@
Index: linux-3.10.26/arch/mips/ralink/of.c --- a/arch/mips/ralink/of.c
=================================================================== +++ b/arch/mips/ralink/of.c
--- linux-3.10.26.orig/arch/mips/ralink/of.c 2014-01-12 11:49:40.292069849 +0100 @@ -80,6 +80,16 @@ void __init device_tree_init(void)
+++ linux-3.10.26/arch/mips/ralink/of.c 2014-01-12 12:38:01.236138974 +0100
@@ -80,6 +80,16 @@
} }
extern struct boot_param_header __image_dtb; extern struct boot_param_header __image_dtb;
@ -19,7 +17,7 @@ Index: linux-3.10.26/arch/mips/ralink/of.c
void __init plat_mem_setup(void) void __init plat_mem_setup(void)
{ {
@@ -90,8 +100,10 @@ @@ -90,8 +100,10 @@ void __init plat_mem_setup(void)
* parsed resulting in our memory appearing * parsed resulting in our memory appearing
*/ */
__dt_setup_arch(&__image_dtb); __dt_setup_arch(&__image_dtb);

View file

@ -1,8 +1,6 @@
Index: linux-3.10.26/drivers/net/ethernet/ralink/ralink_soc_eth.c --- a/drivers/net/ethernet/ralink/ralink_soc_eth.c
=================================================================== +++ b/drivers/net/ethernet/ralink/ralink_soc_eth.c
--- linux-3.10.26.orig/drivers/net/ethernet/ralink/ralink_soc_eth.c 2014-01-12 11:49:40.052069844 +0100 @@ -335,7 +335,7 @@ static int fe_start_xmit(struct sk_buff
+++ linux-3.10.26/drivers/net/ethernet/ralink/ralink_soc_eth.c 2014-01-12 12:49:31.776155429 +0100
@@ -335,7 +335,7 @@
if (priv->soc->tso) if (priv->soc->tso)
fe_start_tso(skb, dev, nr_frags, tx); fe_start_tso(skb, dev, nr_frags, tx);
@ -11,7 +9,7 @@ Index: linux-3.10.26/drivers/net/ethernet/ralink/ralink_soc_eth.c
struct iphdr *iph = NULL; struct iphdr *iph = NULL;
struct tcphdr *th = NULL; struct tcphdr *th = NULL;
struct ipv6hdr *ip6h = NULL; struct ipv6hdr *ip6h = NULL;
@@ -741,8 +741,7 @@ @@ -741,8 +741,7 @@ static int fe_probe(struct platform_devi
dev_info(&pdev->dev, "Enabling TSO\n"); dev_info(&pdev->dev, "Enabling TSO\n");
netdev->features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_IPV6_CSUM; netdev->features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_IPV6_CSUM;
} }

View file

@ -11,7 +11,7 @@ BOARD:=rb532
BOARDNAME:=Mikrotik RouterBoard 532 BOARDNAME:=Mikrotik RouterBoard 532
FEATURES:=pci targz broken FEATURES:=pci targz broken
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += wpad-mini kmod-madwifi kmod-input-rb532 DEFAULT_PACKAGES += wpad-mini kmod-madwifi kmod-input-rb532

View file

@ -14,7 +14,7 @@ CPU_TYPE:=mpcore
CPU_SUBTYPE:=vfp CPU_SUBTYPE:=vfp
MAINTAINER:=Florian Fainelli <florian@openwrt.org> MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
DEVICE_TYPE:=developerboard DEVICE_TYPE:=developerboard

View file

@ -11,7 +11,7 @@ BOARD:=sparc
BOARDNAME:=Sun UltraSPARC BOARDNAME:=Sun UltraSPARC
FEATURES+=fpu tgz ext4 squashfs broken FEATURES+=fpu tgz ext4 squashfs broken
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -19,7 +19,7 @@ DEFAULT_PACKAGES += \
kmod-ledtrig-heartbeat kmod-ledtrig-gpio \ kmod-ledtrig-heartbeat kmod-ledtrig-gpio \
kmod-ledtrig-netdev \ kmod-ledtrig-netdev \
kmod-cpu-msr hwclock wpad kmod-cpu-msr hwclock wpad
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
CS5535_MASK:=0x0b000042 CS5535_MASK:=0x0b000042
CPU_TYPE := geode CPU_TYPE := geode

View file

@ -1,6 +1,6 @@
BOARDNAME:=Generic BOARDNAME:=Generic
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
define Target/Description define Target/Description
Build firmware images for x86 based boards Build firmware images for x86 based boards

View file

@ -2,4 +2,4 @@ BOARDNAME:=KVM Guest
FEATURES:=ext4 pci usb FEATURES:=ext4 pci usb
DEFAULT_PACKAGES += kmod-virtio-balloon kmod-virtio-net kmod-virtio-random DEFAULT_PACKAGES += kmod-virtio-balloon kmod-virtio-net kmod-virtio-random
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28

View file

@ -12,7 +12,7 @@ BOARDNAME:=x86_64
FEATURES:=ext4 vdi vmdk targz FEATURES:=ext4 vdi vmdk targz
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
KERNELNAME:=bzImage KERNELNAME:=bzImage

View file

@ -12,7 +12,7 @@ BOARDNAME:=Ingenic XBurst
FEATURES:=targz ubifs audio FEATURES:=targz ubifs audio
SUBTARGETS:=qi_lb60 n516 n526 id800wt SUBTARGETS:=qi_lb60 n516 n526 id800wt
LINUX_VERSION:=3.10.26 LINUX_VERSION:=3.10.28
DEVICE_TYPE=other DEVICE_TYPE=other