kernel: Update kernel 4.14 to version 4.14.187
Fixes: - CVE-2020-10757 Run tested: x86 Build tested: x86 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
d37f8a60f0
commit
1f8d9f70c2
|
@ -3,10 +3,10 @@
|
||||||
LINUX_RELEASE?=1
|
LINUX_RELEASE?=1
|
||||||
|
|
||||||
LINUX_VERSION-4.9 = .223
|
LINUX_VERSION-4.9 = .223
|
||||||
LINUX_VERSION-4.14 = .180
|
LINUX_VERSION-4.14 = .187
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.9.223 = cf5300e6f5d8c66c2bed8f00d53f9c58103731809862427012e4010f5d782ae5
|
LINUX_KERNEL_HASH-4.9.223 = cf5300e6f5d8c66c2bed8f00d53f9c58103731809862427012e4010f5d782ae5
|
||||||
LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
|
LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/powerpc/platforms/4xx/pci.c
|
--- a/arch/powerpc/platforms/4xx/pci.c
|
||||||
+++ b/arch/powerpc/platforms/4xx/pci.c
|
+++ b/arch/powerpc/platforms/4xx/pci.c
|
||||||
@@ -1905,9 +1905,9 @@ static void __init ppc4xx_configure_pcie
|
@@ -1903,9 +1903,9 @@ static void __init ppc4xx_configure_pcie
|
||||||
* if it works
|
* if it works
|
||||||
*/
|
*/
|
||||||
out_le32(mbase + PECFG_PIM0LAL, 0x00000000);
|
out_le32(mbase + PECFG_PIM0LAL, 0x00000000);
|
||||||
|
|
|
@ -39,6 +39,7 @@ CONFIG_CRYPTO_NULL2=y
|
||||||
CONFIG_CRYPTO_RNG2=y
|
CONFIG_CRYPTO_RNG2=y
|
||||||
CONFIG_CRYPTO_WORKQUEUE=y
|
CONFIG_CRYPTO_WORKQUEUE=y
|
||||||
CONFIG_DCACHE_WORD_ACCESS=y
|
CONFIG_DCACHE_WORD_ACCESS=y
|
||||||
|
CONFIG_DMADEVICES=y
|
||||||
CONFIG_DTC=y
|
CONFIG_DTC=y
|
||||||
CONFIG_EDAC_SUPPORT=y
|
CONFIG_EDAC_SUPPORT=y
|
||||||
CONFIG_EXT4_FS=y
|
CONFIG_EXT4_FS=y
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/drivers/pci/probe.c
|
--- a/drivers/pci/probe.c
|
||||||
+++ b/drivers/pci/probe.c
|
+++ b/drivers/pci/probe.c
|
||||||
@@ -2309,7 +2309,8 @@ static void pcie_write_mrrs(struct pci_d
|
@@ -2330,7 +2330,8 @@ static void pcie_write_mrrs(struct pci_d
|
||||||
/* In the "safe" case, do not configure the MRRS. There appear to be
|
/* In the "safe" case, do not configure the MRRS. There appear to be
|
||||||
* issues with setting MRRS to 0 on a number of devices.
|
* issues with setting MRRS to 0 on a number of devices.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -55,7 +55,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||||
rwlock_t sk_callback_lock;
|
rwlock_t sk_callback_lock;
|
||||||
--- a/net/core/sock.c
|
--- a/net/core/sock.c
|
||||||
+++ b/net/core/sock.c
|
+++ b/net/core/sock.c
|
||||||
@@ -2748,6 +2748,7 @@ void sock_init_data(struct socket *sock,
|
@@ -2750,6 +2750,7 @@ void sock_init_data(struct socket *sock,
|
||||||
|
|
||||||
sk->sk_max_pacing_rate = ~0U;
|
sk->sk_max_pacing_rate = ~0U;
|
||||||
sk->sk_pacing_rate = ~0U;
|
sk->sk_pacing_rate = ~0U;
|
||||||
|
|
|
@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
|
||||||
|
|
||||||
--- a/drivers/usb/serial/option.c
|
--- a/drivers/usb/serial/option.c
|
||||||
+++ b/drivers/usb/serial/option.c
|
+++ b/drivers/usb/serial/option.c
|
||||||
@@ -1983,7 +1983,8 @@ static const struct usb_device_id option
|
@@ -1987,7 +1987,8 @@ static const struct usb_device_id option
|
||||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
|
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
|
||||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
|
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
|
||||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
|
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
|
||||||
|
|
|
@ -23,7 +23,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||||
+
|
+
|
||||||
int ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst,
|
int ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst,
|
||||||
struct flowi6 *fl6);
|
struct flowi6 *fl6);
|
||||||
struct dst_entry *ip6_dst_lookup_flow(const struct sock *sk, struct flowi6 *fl6,
|
struct dst_entry *ip6_dst_lookup_flow(struct net *net, const struct sock *sk, struct flowi6 *fl6,
|
||||||
--- a/net/ipv6/ip6_output.c
|
--- a/net/ipv6/ip6_output.c
|
||||||
+++ b/net/ipv6/ip6_output.c
|
+++ b/net/ipv6/ip6_output.c
|
||||||
@@ -381,7 +381,7 @@ static inline int ip6_forward_finish(str
|
@@ -381,7 +381,7 @@ static inline int ip6_forward_finish(str
|
||||||
|
|
|
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
-
|
-
|
||||||
int ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst,
|
int ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst,
|
||||||
struct flowi6 *fl6);
|
struct flowi6 *fl6);
|
||||||
struct dst_entry *ip6_dst_lookup_flow(const struct sock *sk, struct flowi6 *fl6,
|
struct dst_entry *ip6_dst_lookup_flow(struct net *net, const struct sock *sk, struct flowi6 *fl6,
|
||||||
--- a/net/ipv6/ip6_output.c
|
--- a/net/ipv6/ip6_output.c
|
||||||
+++ b/net/ipv6/ip6_output.c
|
+++ b/net/ipv6/ip6_output.c
|
||||||
@@ -381,28 +381,6 @@ static inline int ip6_forward_finish(str
|
@@ -381,28 +381,6 @@ static inline int ip6_forward_finish(str
|
||||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -1252,7 +1252,6 @@ all: modules
|
@@ -1260,7 +1260,6 @@ endif
|
||||||
|
|
||||||
PHONY += modules
|
PHONY += modules
|
||||||
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
@$(kecho) ' Building modules, stage 2.';
|
@$(kecho) ' Building modules, stage 2.';
|
||||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
||||||
|
|
||||||
@@ -1281,7 +1280,6 @@ _modinst_:
|
@@ -1289,7 +1288,6 @@ _modinst_:
|
||||||
rm -f $(MODLIB)/build ; \
|
rm -f $(MODLIB)/build ; \
|
||||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
||||||
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
||||||
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
||||||
@@ -789,11 +794,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
@@ -779,11 +784,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
algorithm registration.
|
algorithm registration.
|
||||||
--- a/crypto/algboss.c
|
--- a/crypto/algboss.c
|
||||||
+++ b/crypto/algboss.c
|
+++ b/crypto/algboss.c
|
||||||
@@ -248,8 +248,12 @@ static int cryptomgr_schedule_test(struc
|
@@ -246,8 +246,12 @@ static int cryptomgr_schedule_test(struc
|
||||||
type = alg->cra_flags;
|
type = alg->cra_flags;
|
||||||
|
|
||||||
/* Do not test internal algorithms. */
|
/* Do not test internal algorithms. */
|
||||||
|
|
|
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
EXPORT_SYMBOL(default_qdisc_ops);
|
EXPORT_SYMBOL(default_qdisc_ops);
|
||||||
|
|
||||||
/* Main transmission queue. */
|
/* Main transmission queue. */
|
||||||
@@ -764,7 +764,7 @@ static void attach_one_default_qdisc(str
|
@@ -765,7 +765,7 @@ static void attach_one_default_qdisc(str
|
||||||
void *_unused)
|
void *_unused)
|
||||||
{
|
{
|
||||||
struct Qdisc *qdisc;
|
struct Qdisc *qdisc;
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/net/sched/sch_generic.c
|
--- a/net/sched/sch_generic.c
|
||||||
+++ b/net/sched/sch_generic.c
|
+++ b/net/sched/sch_generic.c
|
||||||
@@ -453,146 +453,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
|
@@ -454,146 +454,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
help
|
help
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -3004,10 +3004,20 @@ static int xmit_one(struct sk_buff *skb,
|
@@ -3000,10 +3000,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||||
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
|
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
|
||||||
dev_queue_xmit_nit(skb, dev);
|
dev_queue_xmit_nit(skb, dev);
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
|
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
|
||||||
{
|
{
|
||||||
struct dst_entry *dst = __sk_dst_get(sk);
|
struct dst_entry *dst = __sk_dst_get(sk);
|
||||||
@@ -1598,9 +1610,11 @@ void sk_destruct(struct sock *sk)
|
@@ -1599,9 +1611,11 @@ void sk_destruct(struct sock *sk)
|
||||||
|
|
||||||
static void __sk_free(struct sock *sk)
|
static void __sk_free(struct sock *sk)
|
||||||
{
|
{
|
||||||
|
|
|
@ -328,7 +328,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/net/core/sock.c
|
--- a/net/core/sock.c
|
||||||
+++ b/net/core/sock.c
|
+++ b/net/core/sock.c
|
||||||
@@ -3387,6 +3387,8 @@ static __net_initdata struct pernet_oper
|
@@ -3389,6 +3389,8 @@ static __net_initdata struct pernet_oper
|
||||||
|
|
||||||
static int __init proto_init(void)
|
static int __init proto_init(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
|
||||||
|
|
||||||
--- a/mm/page_alloc.c
|
--- a/mm/page_alloc.c
|
||||||
+++ b/mm/page_alloc.c
|
+++ b/mm/page_alloc.c
|
||||||
@@ -6145,7 +6145,7 @@ static void __ref alloc_node_mem_map(str
|
@@ -6146,7 +6146,7 @@ static void __ref alloc_node_mem_map(str
|
||||||
mem_map = NODE_DATA(0)->node_mem_map;
|
mem_map = NODE_DATA(0)->node_mem_map;
|
||||||
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
|
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
|
||||||
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
|
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
|
||||||
|
|
|
@ -23,7 +23,7 @@ Tested-by: Aaron Brown <aaron.f.brown@intel.com>
|
||||||
|
|
||||||
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
|
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
|
||||||
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
|
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
|
||||||
@@ -5082,7 +5082,7 @@ static bool e1000e_has_link(struct e1000
|
@@ -5080,7 +5080,7 @@ static bool e1000e_has_link(struct e1000
|
||||||
|
|
||||||
/* get_link_status is set on LSC (link status) interrupt or
|
/* get_link_status is set on LSC (link status) interrupt or
|
||||||
* Rx sequence error interrupt. get_link_status will stay
|
* Rx sequence error interrupt. get_link_status will stay
|
||||||
|
@ -32,7 +32,7 @@ Tested-by: Aaron Brown <aaron.f.brown@intel.com>
|
||||||
* for copper adapters ONLY
|
* for copper adapters ONLY
|
||||||
*/
|
*/
|
||||||
switch (hw->phy.media_type) {
|
switch (hw->phy.media_type) {
|
||||||
@@ -5100,7 +5100,7 @@ static bool e1000e_has_link(struct e1000
|
@@ -5098,7 +5098,7 @@ static bool e1000e_has_link(struct e1000
|
||||||
break;
|
break;
|
||||||
case e1000_media_type_internal_serdes:
|
case e1000_media_type_internal_serdes:
|
||||||
ret_val = hw->mac.ops.check_for_link(hw);
|
ret_val = hw->mac.ops.check_for_link(hw);
|
||||||
|
|
|
@ -14,19 +14,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -656,12 +656,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
@@ -652,9 +652,9 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
|
KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
|
||||||
|
|
||||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||||
-KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
|
-KBUILD_CFLAGS += -Os
|
||||||
+KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
|
+KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION)
|
||||||
else
|
|
||||||
ifdef CONFIG_PROFILE_ALL_BRANCHES
|
|
||||||
-KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,)
|
|
||||||
+KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
|
|
||||||
else
|
else
|
||||||
-KBUILD_CFLAGS += -O2
|
-KBUILD_CFLAGS += -O2
|
||||||
+KBUILD_CFLAGS += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
|
+KBUILD_CFLAGS += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
|
# Tell gcc to never replace conditional load with a non-conditional one
|
||||||
|
|
|
@ -47,7 +47,7 @@ v2: incorporated changes suggested by Jonas Gorski
|
||||||
select OF
|
select OF
|
||||||
--- a/arch/mips/Makefile
|
--- a/arch/mips/Makefile
|
||||||
+++ b/arch/mips/Makefile
|
+++ b/arch/mips/Makefile
|
||||||
@@ -315,7 +315,7 @@ OBJCOPYFLAGS += --remove-section=.regin
|
@@ -326,7 +326,7 @@ OBJCOPYFLAGS += --remove-section=.regin
|
||||||
head-y := arch/mips/kernel/head.o
|
head-y := arch/mips/kernel/head.o
|
||||||
|
|
||||||
libs-y += arch/mips/lib/
|
libs-y += arch/mips/lib/
|
||||||
|
|
|
@ -38,7 +38,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||||
;----------------------------------------------------------------
|
;----------------------------------------------------------------
|
||||||
--- a/arch/arc/kernel/setup.c
|
--- a/arch/arc/kernel/setup.c
|
||||||
+++ b/arch/arc/kernel/setup.c
|
+++ b/arch/arc/kernel/setup.c
|
||||||
@@ -437,6 +437,8 @@ static inline bool uboot_arg_invalid(uns
|
@@ -438,6 +438,8 @@ static inline bool uboot_arg_invalid(uns
|
||||||
/* We always pass 0 as magic from U-boot */
|
/* We always pass 0 as magic from U-boot */
|
||||||
#define UBOOT_MAGIC_VALUE 0
|
#define UBOOT_MAGIC_VALUE 0
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||||
void __init handle_uboot_args(void)
|
void __init handle_uboot_args(void)
|
||||||
{
|
{
|
||||||
bool use_embedded_dtb = true;
|
bool use_embedded_dtb = true;
|
||||||
@@ -477,7 +479,7 @@ ignore_uboot_args:
|
@@ -478,7 +480,7 @@ ignore_uboot_args:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (use_embedded_dtb) {
|
if (use_embedded_dtb) {
|
||||||
|
|
|
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
#include <linux/nsproxy.h>
|
#include <linux/nsproxy.h>
|
||||||
#include <net/net_namespace.h>
|
#include <net/net_namespace.h>
|
||||||
#include <net/netns/generic.h>
|
#include <net/netns/generic.h>
|
||||||
@@ -978,8 +983,36 @@ static int pppoe_xmit(struct ppp_channel
|
@@ -981,8 +986,36 @@ static int pppoe_xmit(struct ppp_channel
|
||||||
return __pppoe_xmit(sk, skb);
|
return __pppoe_xmit(sk, skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
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),
|
||||||
@@ -2054,6 +2071,11 @@ static struct rt6_info *ip6_route_info_c
|
@@ -2056,6 +2073,11 @@ static struct rt6_info *ip6_route_info_c
|
||||||
rt->dst.output = ip6_pkt_prohibit_out;
|
rt->dst.output = ip6_pkt_prohibit_out;
|
||||||
rt->dst.input = ip6_pkt_prohibit;
|
rt->dst.input = ip6_pkt_prohibit;
|
||||||
break;
|
break;
|
||||||
|
@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
case RTN_THROW:
|
case RTN_THROW:
|
||||||
case RTN_UNREACHABLE:
|
case RTN_UNREACHABLE:
|
||||||
default:
|
default:
|
||||||
@@ -2779,6 +2801,17 @@ static int ip6_pkt_prohibit_out(struct n
|
@@ -2781,6 +2803,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
/*
|
/*
|
||||||
* Allocate a dst for local (unicast / anycast) address.
|
* Allocate a dst for local (unicast / anycast) address.
|
||||||
*/
|
*/
|
||||||
@@ -3015,7 +3048,8 @@ static int rtm_to_fib6_config(struct sk_
|
@@ -3017,7 +3050,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 ||
|
||||||
|
@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
cfg->fc_flags |= RTF_REJECT;
|
cfg->fc_flags |= RTF_REJECT;
|
||||||
|
|
||||||
if (rtm->rtm_type == RTN_LOCAL)
|
if (rtm->rtm_type == RTN_LOCAL)
|
||||||
@@ -3515,6 +3549,9 @@ static int rt6_fill_node(struct net *net
|
@@ -3517,6 +3551,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;
|
||||||
|
@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
case -EAGAIN:
|
case -EAGAIN:
|
||||||
rtm->rtm_type = RTN_THROW;
|
rtm->rtm_type = RTN_THROW;
|
||||||
break;
|
break;
|
||||||
@@ -3833,6 +3870,8 @@ static int ip6_route_dev_notify(struct n
|
@@ -3835,6 +3872,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);
|
||||||
|
@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
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
|
||||||
@@ -3844,6 +3883,7 @@ static int ip6_route_dev_notify(struct n
|
@@ -3846,6 +3885,7 @@ static int ip6_route_dev_notify(struct n
|
||||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||||
|
@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -4060,6 +4100,17 @@ static int __net_init ip6_route_net_init
|
@@ -4062,6 +4102,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);
|
||||||
|
@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
net->ipv6.sysctl.flush_delay = 0;
|
net->ipv6.sysctl.flush_delay = 0;
|
||||||
@@ -4078,6 +4129,8 @@ out:
|
@@ -4080,6 +4131,8 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
|
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
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:
|
||||||
@@ -4095,6 +4148,7 @@ static void __net_exit ip6_route_net_exi
|
@@ -4097,6 +4150,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);
|
||||||
|
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
#endif
|
#endif
|
||||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||||
}
|
}
|
||||||
@@ -4168,6 +4222,9 @@ void __init ip6_route_init_special_entri
|
@@ -4170,6 +4224,9 @@ void __init ip6_route_init_special_entri
|
||||||
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);
|
||||||
|
|
|
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
__u16 tc_index; /* traffic control index */
|
__u16 tc_index; /* traffic control index */
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -4806,6 +4806,9 @@ static enum gro_result dev_gro_receive(s
|
@@ -4802,6 +4802,9 @@ static enum gro_result dev_gro_receive(s
|
||||||
enum gro_result ret;
|
enum gro_result ret;
|
||||||
int grow;
|
int grow;
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
if (netif_elide_gro(skb->dev))
|
if (netif_elide_gro(skb->dev))
|
||||||
goto normal;
|
goto normal;
|
||||||
|
|
||||||
@@ -6283,6 +6286,48 @@ static void __netdev_adjacent_dev_unlink
|
@@ -6279,6 +6282,48 @@ static void __netdev_adjacent_dev_unlink
|
||||||
&upper_dev->adj_list.lower);
|
&upper_dev->adj_list.lower);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||||
struct net_device *upper_dev, bool master,
|
struct net_device *upper_dev, bool master,
|
||||||
void *upper_priv, void *upper_info)
|
void *upper_priv, void *upper_info)
|
||||||
@@ -6321,6 +6366,7 @@ static int __netdev_upper_dev_link(struc
|
@@ -6317,6 +6362,7 @@ static int __netdev_upper_dev_link(struc
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
ret = notifier_to_errno(ret);
|
ret = notifier_to_errno(ret);
|
||||||
@@ -6398,6 +6444,7 @@ void netdev_upper_dev_unlink(struct net_
|
@@ -6394,6 +6440,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||||
|
|
||||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||||
&changeupper_info.info);
|
&changeupper_info.info);
|
||||||
}
|
}
|
||||||
@@ -6962,6 +7009,7 @@ int dev_set_mac_address(struct net_devic
|
@@ -6958,6 +7005,7 @@ int dev_set_mac_address(struct net_devic
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
dev->addr_assign_type = NET_ADDR_SET;
|
dev->addr_assign_type = NET_ADDR_SET;
|
||||||
|
|
|
@ -24,7 +24,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
default y
|
default y
|
||||||
--- a/drivers/pci/quirks.c
|
--- a/drivers/pci/quirks.c
|
||||||
+++ b/drivers/pci/quirks.c
|
+++ b/drivers/pci/quirks.c
|
||||||
@@ -43,6 +43,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,
|
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
|
||||||
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
|
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
/* The Mellanox Tavor device gives false positive parity errors
|
/* The Mellanox Tavor device gives false positive parity errors
|
||||||
* Mark this device with a broken_parity_status, to allow
|
* Mark this device with a broken_parity_status, to allow
|
||||||
* PCI scanning code to "skip" this now blacklisted device.
|
* PCI scanning code to "skip" this now blacklisted device.
|
||||||
@@ -3094,6 +3095,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
@@ -3095,6 +3096,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
|
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
|
||||||
@@ -3150,6 +3152,8 @@ static void fixup_debug_report(struct pc
|
@@ -3151,6 +3153,8 @@ static void fixup_debug_report(struct pc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
/*
|
/*
|
||||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||||
@@ -3188,6 +3192,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
@@ -3189,6 +3193,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||||
depends on ACPI
|
depends on ACPI
|
||||||
--- a/drivers/ata/libata-core.c
|
--- a/drivers/ata/libata-core.c
|
||||||
+++ b/drivers/ata/libata-core.c
|
+++ b/drivers/ata/libata-core.c
|
||||||
@@ -731,6 +731,19 @@ u64 ata_tf_read_block(const struct ata_t
|
@@ -730,6 +730,19 @@ u64 ata_tf_read_block(const struct ata_t
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||||
/**
|
/**
|
||||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||||
* @tf: Target ATA taskfile
|
* @tf: Target ATA taskfile
|
||||||
@@ -5124,6 +5137,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
@@ -5123,6 +5136,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||||
if (tag < 0)
|
if (tag < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||||
|
|
||||||
qc = __ata_qc_from_tag(ap, tag);
|
qc = __ata_qc_from_tag(ap, tag);
|
||||||
qc->tag = tag;
|
qc->tag = tag;
|
||||||
@@ -6025,6 +6041,9 @@ struct ata_port *ata_port_alloc(struct a
|
@@ -6024,6 +6040,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||||
ap->stats.unhandled_irq = 1;
|
ap->stats.unhandled_irq = 1;
|
||||||
ap->stats.idle_irq = 1;
|
ap->stats.idle_irq = 1;
|
||||||
#endif
|
#endif
|
||||||
|
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||||
ata_sff_port_init(ap);
|
ata_sff_port_init(ap);
|
||||||
|
|
||||||
return ap;
|
return ap;
|
||||||
@@ -6046,6 +6065,12 @@ static void ata_host_release(struct devi
|
@@ -6045,6 +6064,12 @@ static void ata_host_release(struct devi
|
||||||
|
|
||||||
kfree(ap->pmp_link);
|
kfree(ap->pmp_link);
|
||||||
kfree(ap->slave_link);
|
kfree(ap->slave_link);
|
||||||
|
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||||
kfree(ap);
|
kfree(ap);
|
||||||
host->ports[i] = NULL;
|
host->ports[i] = NULL;
|
||||||
}
|
}
|
||||||
@@ -6492,7 +6517,23 @@ int ata_host_register(struct ata_host *h
|
@@ -6491,7 +6516,23 @@ int ata_host_register(struct ata_host *h
|
||||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||||
host->ports[i]->local_port_no = i + 1;
|
host->ports[i]->local_port_no = i + 1;
|
||||||
}
|
}
|
||||||
|
@ -124,17 +124,17 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||||
rc = ata_tport_add(host->dev,host->ports[i]);
|
rc = ata_tport_add(host->dev,host->ports[i]);
|
||||||
--- a/include/linux/libata.h
|
--- a/include/linux/libata.h
|
||||||
+++ b/include/linux/libata.h
|
+++ b/include/linux/libata.h
|
||||||
@@ -38,6 +38,9 @@
|
@@ -39,6 +39,9 @@
|
||||||
#include <linux/acpi.h>
|
|
||||||
#include <linux/cdrom.h>
|
#include <linux/cdrom.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
|
#include <linux/async.h>
|
||||||
+#ifdef CONFIG_ATA_LEDS
|
+#ifdef CONFIG_ATA_LEDS
|
||||||
+#include <linux/leds.h>
|
+#include <linux/leds.h>
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define if arch has non-standard setup. This is a _PCI_ standard
|
* Define if arch has non-standard setup. This is a _PCI_ standard
|
||||||
@@ -890,6 +893,12 @@ struct ata_port {
|
@@ -893,6 +896,12 @@ struct ata_port {
|
||||||
#ifdef CONFIG_ATA_ACPI
|
#ifdef CONFIG_ATA_ACPI
|
||||||
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1548,7 +1548,7 @@ Date: Thu Nov 30 18:01:29 2017 +0100
|
||||||
/*
|
/*
|
||||||
--- a/include/linux/mtd/rawnand.h
|
--- a/include/linux/mtd/rawnand.h
|
||||||
+++ b/include/linux/mtd/rawnand.h
|
+++ b/include/linux/mtd/rawnand.h
|
||||||
@@ -1313,6 +1313,35 @@ int nand_write_page_raw(struct mtd_info
|
@@ -1311,6 +1311,35 @@ int nand_write_page_raw(struct mtd_info
|
||||||
/* Reset and initialize a NAND device */
|
/* Reset and initialize a NAND device */
|
||||||
int nand_reset(struct nand_chip *chip, int chipnr);
|
int nand_reset(struct nand_chip *chip, int chipnr);
|
||||||
|
|
||||||
|
|
|
@ -5505,7 +5505,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
unsigned long type);
|
unsigned long type);
|
||||||
--- a/include/linux/pci_ids.h
|
--- a/include/linux/pci_ids.h
|
||||||
+++ b/include/linux/pci_ids.h
|
+++ b/include/linux/pci_ids.h
|
||||||
@@ -1061,6 +1061,12 @@
|
@@ -1062,6 +1062,12 @@
|
||||||
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002
|
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002
|
||||||
#define PCI_DEVICE_ID_SGI_IOC4 0x100a
|
#define PCI_DEVICE_ID_SGI_IOC4 0x100a
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -3659,6 +3659,58 @@ set_rps_cpu(struct net_device *dev, stru
|
@@ -3655,6 +3655,58 @@ set_rps_cpu(struct net_device *dev, stru
|
||||||
return rflow;
|
return rflow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
/*
|
/*
|
||||||
* get_rps_cpu is called from netif_receive_skb and returns the target
|
* get_rps_cpu is called from netif_receive_skb and returns the target
|
||||||
* CPU from the RPS map of the receiving queue for a given skb.
|
* CPU from the RPS map of the receiving queue for a given skb.
|
||||||
@@ -3748,7 +3800,7 @@ static int get_rps_cpu(struct net_device
|
@@ -3744,7 +3796,7 @@ static int get_rps_cpu(struct net_device
|
||||||
try_rps:
|
try_rps:
|
||||||
|
|
||||||
if (map) {
|
if (map) {
|
||||||
|
@ -78,7 +78,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
if (cpu_online(tcpu)) {
|
if (cpu_online(tcpu)) {
|
||||||
cpu = tcpu;
|
cpu = tcpu;
|
||||||
goto done;
|
goto done;
|
||||||
@@ -8860,6 +8912,9 @@ static int __init net_dev_init(void)
|
@@ -8865,6 +8917,9 @@ static int __init net_dev_init(void)
|
||||||
sd->backlog.weight = weight_p;
|
sd->backlog.weight = weight_p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -229,7 +229,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
|
|
||||||
mtk->num_phys = of_count_phandle_with_args(node,
|
mtk->num_phys = of_count_phandle_with_args(node,
|
||||||
"phys", "#phy-cells");
|
"phys", "#phy-cells");
|
||||||
@@ -782,7 +725,7 @@ static int __maybe_unused xhci_mtk_suspe
|
@@ -783,7 +726,7 @@ static int __maybe_unused xhci_mtk_suspe
|
||||||
xhci_mtk_host_disable(mtk);
|
xhci_mtk_host_disable(mtk);
|
||||||
xhci_mtk_phy_power_off(mtk);
|
xhci_mtk_phy_power_off(mtk);
|
||||||
xhci_mtk_clks_disable(mtk);
|
xhci_mtk_clks_disable(mtk);
|
||||||
|
@ -238,7 +238,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -792,7 +735,7 @@ static int __maybe_unused xhci_mtk_resum
|
@@ -793,7 +736,7 @@ static int __maybe_unused xhci_mtk_resum
|
||||||
struct usb_hcd *hcd = mtk->hcd;
|
struct usb_hcd *hcd = mtk->hcd;
|
||||||
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
|
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
|
||||||
(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
|
(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
|
||||||
PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
|
PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
|
||||||
@@ -886,6 +889,58 @@ out_release_res:
|
@@ -882,6 +885,58 @@ out_release_res:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
static int advk_pcie_probe(struct platform_device *pdev)
|
static int advk_pcie_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
@@ -960,6 +1015,9 @@ static int advk_pcie_probe(struct platfo
|
@@ -956,6 +1011,9 @@ static int advk_pcie_probe(struct platfo
|
||||||
list_for_each_entry(child, &bus->children, node)
|
list_for_each_entry(child, &bus->children, node)
|
||||||
pcie_bus_configure_settings(child);
|
pcie_bus_configure_settings(child);
|
||||||
|
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
From patchwork Thu Sep 28 12:58:36 2017
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
Subject: [v2,5/7] PCI: aardvark: disable LOS state by default
|
|
||||||
X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
X-Patchwork-Id: 819590
|
|
||||||
Message-Id: <20170928125838.11887-6-thomas.petazzoni@free-electrons.com>
|
|
||||||
To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
|
|
||||||
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
|
|
||||||
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
|
|
||||||
<gregory.clement@free-electrons.com>,
|
|
||||||
Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
|
|
||||||
Yehuda Yitschak <yehuday@marvell.com>,
|
|
||||||
linux-arm-kernel@lists.infradead.org, Antoine Tenart
|
|
||||||
<antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
|
|
||||||
<miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
|
|
||||||
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
Date: Thu, 28 Sep 2017 14:58:36 +0200
|
|
||||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
List-Id: <linux-pci.vger.kernel.org>
|
|
||||||
|
|
||||||
From: Victor Gu <xigu@marvell.com>
|
|
||||||
|
|
||||||
Some PCIe devices do not support LOS, and will cause timeouts if the
|
|
||||||
root complex forces the LOS state. This patch disables the LOS state
|
|
||||||
by default.
|
|
||||||
|
|
||||||
This is part of fixing bug
|
|
||||||
https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
|
|
||||||
reported as the user to be important to get a Intel 7260 mini-PCIe
|
|
||||||
WiFi card working.
|
|
||||||
|
|
||||||
Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
|
|
||||||
Signed-off-by: Victor Gu <xigu@marvell.com>
|
|
||||||
Reviewed-by: Evan Wang <xswang@marvell.com>
|
|
||||||
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
|
|
||||||
[Thomas: tweak commit log.]
|
|
||||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
---
|
|
||||||
drivers/pci/host/pci-aardvark.c | 3 +--
|
|
||||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/drivers/pci/host/pci-aardvark.c
|
|
||||||
+++ b/drivers/pci/host/pci-aardvark.c
|
|
||||||
@@ -368,8 +368,7 @@ static void advk_pcie_setup_hw(struct ad
|
|
||||||
|
|
||||||
advk_pcie_wait_for_link(pcie);
|
|
||||||
|
|
||||||
- reg = PCIE_CORE_LINK_L0S_ENTRY |
|
|
||||||
- (1 << PCIE_CORE_LINK_WIDTH_SHIFT);
|
|
||||||
+ reg = (1 << PCIE_CORE_LINK_WIDTH_SHIFT);
|
|
||||||
advk_writel(pcie, reg, PCIE_CORE_LINK_CTRL_STAT_REG);
|
|
||||||
|
|
||||||
reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/drivers/ata/libata-core.c
|
--- a/drivers/ata/libata-core.c
|
||||||
+++ b/drivers/ata/libata-core.c
|
+++ b/drivers/ata/libata-core.c
|
||||||
@@ -1599,6 +1599,14 @@ unsigned ata_exec_internal_sg(struct ata
|
@@ -1598,6 +1598,14 @@ unsigned ata_exec_internal_sg(struct ata
|
||||||
return AC_ERR_SYSTEM;
|
return AC_ERR_SYSTEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
/* initialize internal qc */
|
/* initialize internal qc */
|
||||||
|
|
||||||
/* XXX: Tag 0 is used for drivers with legacy EH as some
|
/* XXX: Tag 0 is used for drivers with legacy EH as some
|
||||||
@@ -5131,6 +5139,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
@@ -5130,6 +5138,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||||
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
|
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
/* libsas case */
|
/* libsas case */
|
||||||
if (ap->flags & ATA_FLAG_SAS_HOST) {
|
if (ap->flags & ATA_FLAG_SAS_HOST) {
|
||||||
tag = ata_sas_allocate_tag(ap);
|
tag = ata_sas_allocate_tag(ap);
|
||||||
@@ -5176,6 +5187,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
@@ -5175,6 +5186,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
||||||
qc->tag = ATA_TAG_POISON;
|
qc->tag = ATA_TAG_POISON;
|
||||||
if (ap->flags & ATA_FLAG_SAS_HOST)
|
if (ap->flags & ATA_FLAG_SAS_HOST)
|
||||||
ata_sas_free_tag(tag, ap);
|
ata_sas_free_tag(tag, ap);
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
--- a/include/linux/libata.h
|
--- a/include/linux/libata.h
|
||||||
+++ b/include/linux/libata.h
|
+++ b/include/linux/libata.h
|
||||||
@@ -919,6 +919,8 @@ struct ata_port_operations {
|
@@ -922,6 +922,8 @@ struct ata_port_operations {
|
||||||
void (*qc_prep)(struct ata_queued_cmd *qc);
|
void (*qc_prep)(struct ata_queued_cmd *qc);
|
||||||
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
|
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
|
||||||
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
|
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Configuration and exception handling
|
* Configuration and exception handling
|
||||||
@@ -1009,6 +1011,9 @@ struct ata_port_operations {
|
@@ -1012,6 +1014,9 @@ struct ata_port_operations {
|
||||||
void (*phy_reset)(struct ata_port *ap);
|
void (*phy_reset)(struct ata_port *ap);
|
||||||
void (*eng_timeout)(struct ata_port *ap);
|
void (*eng_timeout)(struct ata_port *ap);
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
|
||||||
|
|
||||||
--- a/include/linux/mtd/rawnand.h
|
--- a/include/linux/mtd/rawnand.h
|
||||||
+++ b/include/linux/mtd/rawnand.h
|
+++ b/include/linux/mtd/rawnand.h
|
||||||
@@ -1016,6 +1016,7 @@ static inline void *nand_get_manufacture
|
@@ -1014,6 +1014,7 @@ static inline void *nand_get_manufacture
|
||||||
#define NAND_MFR_SANDISK 0x45
|
#define NAND_MFR_SANDISK 0x45
|
||||||
#define NAND_MFR_INTEL 0x89
|
#define NAND_MFR_INTEL 0x89
|
||||||
#define NAND_MFR_ATO 0x9b
|
#define NAND_MFR_ATO 0x9b
|
||||||
|
|
|
@ -15,10 +15,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
BOOTMEM_DEFAULT);
|
BOOTMEM_DEFAULT);
|
||||||
#endif
|
#endif
|
||||||
- device_tree_init();
|
- device_tree_init();
|
||||||
sparse_init();
|
|
||||||
plat_swiotlb_setup();
|
|
||||||
|
|
||||||
@@ -1026,6 +1025,7 @@ void __init setup_arch(char **cmdline_p)
|
/*
|
||||||
|
* In order to reduce the possibility of kernel panic when failed to
|
||||||
|
@@ -1036,6 +1035,7 @@ void __init setup_arch(char **cmdline_p)
|
||||||
|
|
||||||
cpu_cache_init();
|
cpu_cache_init();
|
||||||
paging_init();
|
paging_init();
|
||||||
|
|
|
@ -3590,7 +3590,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
+
|
+
|
||||||
+out:
|
+out:
|
||||||
+ MSG(INIT, "[NFI] mtk_nand_probe fail, err = %d!\n", err);
|
+ MSG(INIT, "[NFI] mtk_nand_probe fail, err = %d!\n", err);
|
||||||
+ nand_release(mtd);
|
+ nand_release(nand_chip);
|
||||||
+ platform_set_drvdata(pdev, NULL);
|
+ platform_set_drvdata(pdev, NULL);
|
||||||
+ kfree(host);
|
+ kfree(host);
|
||||||
+ nand_disable_clock();
|
+ nand_disable_clock();
|
||||||
|
@ -3604,7 +3604,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
+ struct mtd_info *mtd = host->mtd;
|
+ struct mtd_info *mtd = host->mtd;
|
||||||
+ struct nand_chip *nand_chip = &host->nand_chip;
|
+ struct nand_chip *nand_chip = &host->nand_chip;
|
||||||
+
|
+
|
||||||
+ nand_release(mtd);
|
+ nand_release(nand_chip);
|
||||||
+ kfree(host);
|
+ kfree(host);
|
||||||
+ nand_disable_clock();
|
+ nand_disable_clock();
|
||||||
+
|
+
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
--- a/include/linux/mtd/rawnand.h
|
--- a/include/linux/mtd/rawnand.h
|
||||||
+++ b/include/linux/mtd/rawnand.h
|
+++ b/include/linux/mtd/rawnand.h
|
||||||
@@ -885,6 +885,9 @@ struct nand_chip {
|
@@ -883,6 +883,9 @@ struct nand_chip {
|
||||||
int(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
|
int(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
|
||||||
int (*erase)(struct mtd_info *mtd, int page);
|
int (*erase)(struct mtd_info *mtd, int page);
|
||||||
int (*scan_bbt)(struct mtd_info *mtd);
|
int (*scan_bbt)(struct mtd_info *mtd);
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
int (*onfi_set_features)(struct mtd_info *mtd, struct nand_chip *chip,
|
int (*onfi_set_features)(struct mtd_info *mtd, struct nand_chip *chip,
|
||||||
int feature_addr, uint8_t *subfeature_para);
|
int feature_addr, uint8_t *subfeature_para);
|
||||||
int (*onfi_get_features)(struct mtd_info *mtd, struct nand_chip *chip,
|
int (*onfi_get_features)(struct mtd_info *mtd, struct nand_chip *chip,
|
||||||
@@ -893,6 +896,9 @@ struct nand_chip {
|
@@ -891,6 +894,9 @@ struct nand_chip {
|
||||||
int (*setup_data_interface)(struct mtd_info *mtd, int chipnr,
|
int (*setup_data_interface)(struct mtd_info *mtd, int chipnr,
|
||||||
const struct nand_data_interface *conf);
|
const struct nand_data_interface *conf);
|
||||||
|
|
||||||
|
|
|
@ -117,6 +117,7 @@ CONFIG_DECOMPRESS_BZIP2=y
|
||||||
CONFIG_DECOMPRESS_GZIP=y
|
CONFIG_DECOMPRESS_GZIP=y
|
||||||
CONFIG_DEFAULT_IO_DELAY_TYPE=0
|
CONFIG_DEFAULT_IO_DELAY_TYPE=0
|
||||||
# CONFIG_DELL_RBU is not set
|
# CONFIG_DELL_RBU is not set
|
||||||
|
CONFIG_DMADEVICES=y
|
||||||
CONFIG_DMI=y
|
CONFIG_DMI=y
|
||||||
CONFIG_DMIID=y
|
CONFIG_DMIID=y
|
||||||
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
|
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/x86/kernel/reboot.c
|
--- a/arch/x86/kernel/reboot.c
|
||||||
+++ b/arch/x86/kernel/reboot.c
|
+++ b/arch/x86/kernel/reboot.c
|
||||||
@@ -469,6 +469,16 @@ static const struct dmi_system_id reboot
|
@@ -477,6 +477,16 @@ static const struct dmi_system_id reboot
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue