kernel: Update kernel 4.14 to version 4.14.187
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 3 Jul 2020 19:22:08 +0000 (21:22 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 5 Jul 2020 13:02:47 +0000 (15:02 +0200)
Fixes:
- CVE-2020-10757

Run tested: x86
Build tested: x86

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 files changed:
include/kernel-version.mk
target/linux/apm821xx/patches-4.14/301-fix-memory-map-wndr4700.patch
target/linux/armvirt/config-4.14
target/linux/cns3xxx/patches-4.14/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch
target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch
target/linux/generic/backport-4.14/324-v4.16-netfilter-flow-table-support-for-IPv6.patch
target/linux/generic/backport-4.14/350-v4.18-ipv6-make-ip6_dst_mtu_forward-inline.patch
target/linux/generic/hack-4.14/207-disable-modorder.patch
target/linux/generic/hack-4.14/220-gc_sections.patch
target/linux/generic/hack-4.14/260-crypto_test_dependencies.patch
target/linux/generic/hack-4.14/661-use_fq_codel_by_default.patch
target/linux/generic/hack-4.14/662-remove_pfifo_fast.patch
target/linux/generic/hack-4.14/721-phy_packets.patch
target/linux/generic/hack-4.14/901-debloat_sock_diag.patch
target/linux/generic/hack-4.14/902-debloat_proc.patch
target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
target/linux/generic/pending-4.14/190-2-5-e1000e-Fix-wrong-comment-related-to-link-detection.patch
target/linux/generic/pending-4.14/201-extra_optimization.patch
target/linux/generic/pending-4.14/304-mips_disable_fpu.patch
target/linux/generic/pending-4.14/332-arc-add-OWRTDTB-section.patch
target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-4.14/810-pci_disable_common_quirks.patch
target/linux/generic/pending-4.14/834-ledtrig-libata.patch
target/linux/ipq40xx/patches-4.14/050-0004-mtd-nand-provide-several-helpers-to-do-common-NAND-o.patch
target/linux/lantiq/patches-4.14/0001-MIPS-lantiq-add-pcie-driver.patch
target/linux/mediatek/patches-4.14/0048-net-core-add-RPS-balancer.patch
target/linux/mediatek/patches-4.14/0190-usb-xhci-mtk-supports-remote-wakeup-for-mt2712-with-.patch
target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
target/linux/mvebu/patches-4.14/526-PCI-aardvark-disable-LOS-state-by-default.patch [deleted file]
target/linux/oxnas/patches-4.14/999-libata-hacks.patch
target/linux/pistachio/patches-4.14/412-mtd-nand-Add-JEDEC-manufacturer-ID-for-Gigadevice.patch
target/linux/ramips/patches-4.14/0013-owrt-hack-fix-mt7688-cache-issue.patch
target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch
target/linux/ramips/patches-4.14/0040-nand-hack.patch
target/linux/x86/config-4.14
target/linux/x86/patches-4.14/200-pcengines-apu2-reboot.patch

index f7d73cdcf88c16e2cdb034a29d28c603971dbf6d..898e923286c398bc73f5527c28f7c27f209a6820 100644 (file)
@@ -3,10 +3,10 @@
 LINUX_RELEASE?=1
 
 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.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
+LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index 6eb04b2c25167d9b77a8fc55cc93130b102cb9e8..0c9fb370f1cbf5c3150d7e0d400578d50241d141 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
                 */
                out_le32(mbase + PECFG_PIM0LAL, 0x00000000);
index a2d8bb4f20b7b33c300927f42420bb1b9e9cfc04..b46e89b4ee3ce96dcf1cd29616779a5b23c61595 100644 (file)
@@ -39,6 +39,7 @@ CONFIG_CRYPTO_NULL2=y
 CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_DMADEVICES=y
 CONFIG_DTC=y
 CONFIG_EDAC_SUPPORT=y
 CONFIG_EXT4_FS=y
index ef7da9fe23fcaeead84cccee0e0a23ae47fc664d..56f43295b4b85f543f7b835a89a01ad894a63e1b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
         * issues with setting MRRS to 0 on a number of devices.
         */
index 7939ee46b091de9d6fd882269b3b144240afa29f..a098c4416c552eb255010a6e0dd947d2d8a36aca 100644 (file)
@@ -55,7 +55,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
        rwlock_t                sk_callback_lock;
 --- a/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_pacing_rate = ~0U;
index 6d6c575ae79ce05694b001d6f2bc3256fe7efbb9..2e08e514b7236c5bfd7a92443a22e6528448dafb 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
 
 --- a/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, 0x7d02, 0xff) },
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
index 02edd96d553acd8fc4b64dba7ea51a22e4ac6da1..8e776383d1783585dee77de6d260f39aa2f89da3 100644 (file)
@@ -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,
                   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
 +++ b/net/ipv6/ip6_output.c
 @@ -381,7 +381,7 @@ static inline int ip6_forward_finish(str
index bbc04555f7a66b0318ba93a9c08b4334e96a46d4..1c52cf51c60ec39dbdfefb44cb88b64c1f38e10d 100644 (file)
@@ -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,
                   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
 +++ b/net/ipv6/ip6_output.c
 @@ -381,28 +381,6 @@ static inline int ip6_forward_finish(str
index 35834291cc1c9776ebbebd270b726b3b45f102a2..0cfb4d33eca3196ac750949da26a83425a5f08e9 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -1252,7 +1252,6 @@ all: modules
+@@ -1260,7 +1260,6 @@ endif
  
  PHONY += modules
  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.';
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
  
-@@ -1281,7 +1280,6 @@ _modinst_:
+@@ -1289,7 +1288,6 @@ _modinst_:
                rm -f $(MODLIB)/build ; \
                ln -s $(CURDIR) $(MODLIB)/build ; \
        fi
index 7d791eb4513d271f2dfbe9ce78691a6bb4ed3799..b69d8a01d631e591ce06e68f99e6e19a1a9c7804 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  # Read KERNELRELEASE from include/config/kernel.release (if it exists)
  KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
  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)
  endif
  
index 8523fc53744b59a234be65c9ee660b0552c38d77..3cdc0973eca29ded580bbd690ab39b81381c1850 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
          algorithm registration.
 --- a/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;
  
        /* Do not test internal algorithms. */
index cf03b00f8210355fbfde450f552495e42ed806af..6a7d554c208fba3b852c147ca181152deb5e0ab6 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  EXPORT_SYMBOL(default_qdisc_ops);
  
  /* 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)
  {
        struct Qdisc *qdisc;
index 7b6e38da2934239e012ad3594c892b807c3a2e67..d1a17a4bac5929e5017c18fa9272ee3c388fa616 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/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,
  };
  
index 52910fceeb023289b166f3ba379aba5b93a7bd37..e6e06554de10214701dc04db6e8ac8c6b25a7dc8 100644 (file)
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
 --- a/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))
                dev_queue_xmit_nit(skb, dev);
  
index a4ca5735695d8023e43477aace7b7547bd6251eb..2f2b8eb70532cd692fe9c5be19aceb223bc8d9fb 100644 (file)
@@ -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 *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)
  {
index 2d3a22a155ba4266665630855b6dab7e096cedfa..2d84509f452a0186c43a7ae29b34ba7167c36171 100644 (file)
@@ -328,7 +328,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/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)
  {
index 3308b1d71f98ca7044caea9c7b1a8feb0bbac013..44e7fa70a3a72ced04317f9c873c1020e5c10f8e 100644 (file)
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 
 --- a/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;
  #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
                if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
index 54858657cbfe193eedae4ee012609ac528c07d00..aaf21f075f974d47c611d2c7cd8dbdd199821479 100644 (file)
@@ -23,7 +23,7 @@ Tested-by: Aaron Brown <aaron.f.brown@intel.com>
 
 --- a/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
         * 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
         */
        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;
        case e1000_media_type_internal_serdes:
                ret_val = hw->mac.ops.check_for_link(hw);
index 305ba3aad228ce5d87f0677575c2f227d08877ce..aef36a8c11be378de6bab6d4b0dca130a7025884 100644 (file)
@@ -14,19 +14,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/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)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
--KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
-+KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(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)
+-KBUILD_CFLAGS   += -Os
++KBUILD_CFLAGS   += -Os $(EXTRA_OPTIMIZATION)
  else
 -KBUILD_CFLAGS   += -O2
 +KBUILD_CFLAGS   += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
  endif
- endif
  
+ # Tell gcc to never replace conditional load with a non-conditional one
index 0b5852dff8d5954923e158a674cfcebdf9f0d86b..47983df948d782e81635654c56df56ec442d5f4d 100644 (file)
@@ -47,7 +47,7 @@ v2: incorporated changes suggested by Jonas Gorski
        select OF
 --- a/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
  
  libs-y                        += arch/mips/lib/
index 004bcfa729ef30e82bf9e5bd2ff29ec9da418464..85ed7ad74c019e41b52d1e29100c334adbf2feff 100644 (file)
@@ -38,7 +38,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
  ;----------------------------------------------------------------
 --- a/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 */
  #define UBOOT_MAGIC_VALUE     0
  
@@ -47,7 +47,7 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
  void __init handle_uboot_args(void)
  {
        bool use_embedded_dtb = true;
-@@ -477,7 +479,7 @@ ignore_uboot_args:
+@@ -478,7 +480,7 @@ ignore_uboot_args:
  #endif
  
        if (use_embedded_dtb) {
index ae8c4ca92130b9a522ef3697e1204265c44f4b4e..191cbcfb82197fd0ce5e6b806688b7ebc6a391e7 100644 (file)
@@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/nsproxy.h>
  #include <net/net_namespace.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);
  }
  
index 57ba68f4b60929b1db583679c9b3bc5afdabd084..38398657129c6a3b44369ee3f2366eefbe7b32f2 100644 (file)
@@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__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.input = ip6_pkt_prohibit;
                        break;
@@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                case RTN_THROW:
                case RTN_UNREACHABLE:
                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);
  }
  
@@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    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 ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        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:
                        rtm->rtm_type = RTN_PROHIBIT;
                        break;
@@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                case -EAGAIN:
                        rtm->rtm_type = RTN_THROW;
                        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
                net->ipv6.ip6_prohibit_entry->dst.dev = 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->rt6i_idev = in6_dev_get(dev);
  #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);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                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);
  #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;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
@@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  
        net->ipv6.sysctl.flush_delay = 0;
-@@ -4078,6 +4129,8 @@ out:
+@@ -4080,6 +4131,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_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
        kfree(net->ipv6.ip6_prohibit_entry);
        kfree(net->ipv6.ip6_blk_hole_entry);
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
        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_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);
index 286e98f5d5a7eb8fe9b1ddb5553c50e6e582f853..cf0e50f2d9ff81b1cf8ab141d436af69c81a294b 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        __u16                   tc_index;       /* traffic control index */
 --- a/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;
        int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (netif_elide_gro(skb->dev))
                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);
  }
  
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   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)
                return ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                            &changeupper_info.info);
        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);
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &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)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
index 949dbecfb641122f92af837151f65f439e71c94a..718b8addd4430e8d7c58e930125ea9d69d9fd0d7 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
        default y
 --- a/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,
                                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
   * Mark this device with a broken_parity_status, to allow
   * 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, 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
-@@ -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,
   * 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, 0x0152, disable_igfx_irq);
  
index f59085b51cd70523c3574fc3c248dbad17dbd9dc..8a15efdc0efda2596dcd1cf4124eff26a369d51a 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        depends on ACPI
 --- a/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;
  }
  
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /**
   *    ata_build_rw_tf - Build ATA taskfile for given read/write request
   *    @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)
                        return NULL;
        }
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        qc = __ata_qc_from_tag(ap, 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.idle_irq = 1;
  #endif
@@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        ata_sff_port_init(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->slave_link);
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                kfree(ap);
                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]->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]);
 --- a/include/linux/libata.h
 +++ b/include/linux/libata.h
-@@ -38,6 +38,9 @@
- #include <linux/acpi.h>
+@@ -39,6 +39,9 @@
  #include <linux/cdrom.h>
  #include <linux/sched.h>
+ #include <linux/async.h>
 +#ifdef CONFIG_ATA_LEDS
 +#include <linux/leds.h>
 +#endif
  
  /*
   * 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
        struct ata_acpi_gtm     __acpi_init_gtm; /* use ata_acpi_init_gtm() */
  #endif
index 03dcb07554a848c2f432f9947e43c915411ed788..6b8a86ebe5913cbbb9dc32002acd6a124242285e 100644 (file)
@@ -1548,7 +1548,7 @@ Date:   Thu Nov 30 18:01:29 2017 +0100
  /*
 --- a/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 */
  int nand_reset(struct nand_chip *chip, int chipnr);
  
index 9564577a0409cd3946df7c4977f13ea7bef163a8..671577f58418cde3b2792b38464ef897081aa1ca 100644 (file)
@@ -5505,7 +5505,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                                         unsigned long type);
 --- a/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_IOC4                0x100a
  
index 515199df60ee0dc1f9ad6d733331cd0a28657df0..74840229948aeb04f8ce331f7efff1dd6d066ca0 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/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;
  }
  
@@ -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
   * 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:
  
        if (map) {
@@ -78,7 +78,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
                if (cpu_online(tcpu)) {
                        cpu = tcpu;
                        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;
        }
  
index c49efcbd382dbdd0a24d8753b728e8ad3b43e588..2742915c4a0bd656b68699de941ec217cd45170b 100644 (file)
@@ -229,7 +229,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
        mtk->num_phys = of_count_phandle_with_args(node,
                        "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_phy_power_off(mtk);
        xhci_mtk_clks_disable(mtk);
@@ -238,7 +238,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        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 xhci_hcd *xhci = hcd_to_xhci(hcd);
  
index 74e78d3b54ab6fdbfbcc2fadf9a1f20e8b1ce1ce..beea6a55bac32a4d05ea73c58007ecdec88937c8 100644 (file)
@@ -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_MAX_RD_REQ_SZ <<
                 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;
  }
  
@@ -126,7 +126,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  static int advk_pcie_probe(struct platform_device *pdev)
  {
        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)
                pcie_bus_configure_settings(child);
  
diff --git a/target/linux/mvebu/patches-4.14/526-PCI-aardvark-disable-LOS-state-by-default.patch b/target/linux/mvebu/patches-4.14/526-PCI-aardvark-disable-LOS-state-by-default.patch
deleted file mode 100644 (file)
index 0ee4af4..0000000
+++ /dev/null
@@ -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);
index 29132befb500ccb096532179f0670f989ee97d12..bcd1e76c248f42876737ca2761848a14ace0616f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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;
        }
  
@@ -15,7 +15,7 @@
        /* initialize internal qc */
  
        /* 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))
                return NULL;
  
@@ -25,7 +25,7 @@
        /* libsas case */
        if (ap->flags & ATA_FLAG_SAS_HOST) {
                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;
                if (ap->flags & ATA_FLAG_SAS_HOST)
                        ata_sas_free_tag(tag, ap);
@@ -36,7 +36,7 @@
  
 --- a/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);
        unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
        bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
@@ -45,7 +45,7 @@
  
        /*
         * 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 (*eng_timeout)(struct ata_port *ap);
  
index cb629a41222bd44706bc0984de22e2db895a56f1..a967124c812fb67a553230f63071bdc56a4e2faf 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
  
 --- a/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_INTEL                0x89
  #define NAND_MFR_ATO          0x9b
index 442f3180a3bc19082a5cf0a29c2d6ddf88c07b7f..47de8a5f17966c789735a8fcb401295e0d7eea0b 100644 (file)
@@ -15,10 +15,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                                BOOTMEM_DEFAULT);
  #endif
 -      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();
        paging_init();
index d50e689110eab3e8c140261600561b150b960089..4ef8b4917aaca9d7061218cb7e5735bb3823cc18 100644 (file)
@@ -3590,7 +3590,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +
 +out:
 +      MSG(INIT, "[NFI] mtk_nand_probe fail, err = %d!\n", err);
-+      nand_release(mtd);
++      nand_release(nand_chip);
 +      platform_set_drvdata(pdev, NULL);
 +      kfree(host);
 +      nand_disable_clock();
@@ -3604,7 +3604,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +      struct mtd_info *mtd = host->mtd;
 +      struct nand_chip *nand_chip = &host->nand_chip;
 +
-+      nand_release(mtd);
++      nand_release(nand_chip);
 +      kfree(host);
 +      nand_disable_clock();
 +
index c906d7fa6a65c87a8d55eeb07e2f5160d2046553..040c18358c56de6fcc4c3dd8a495fa114e31c47c 100644 (file)
@@ -38,7 +38,7 @@
  
 --- a/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 (*erase)(struct mtd_info *mtd, int page);
        int (*scan_bbt)(struct mtd_info *mtd);
@@ -48,7 +48,7 @@
        int (*onfi_set_features)(struct mtd_info *mtd, struct nand_chip *chip,
                        int feature_addr, uint8_t *subfeature_para);
        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,
                                    const struct nand_data_interface *conf);
  
index fa31df8b5241fe09ef1cf4747d6ee95c567c9445..6e04a4a8755f067ff5a826225ed4aeef30f299e7 100644 (file)
@@ -117,6 +117,7 @@ CONFIG_DECOMPRESS_BZIP2=y
 CONFIG_DECOMPRESS_GZIP=y
 CONFIG_DEFAULT_IO_DELAY_TYPE=0
 # CONFIG_DELL_RBU is not set
+CONFIG_DMADEVICES=y
 CONFIG_DMI=y
 CONFIG_DMIID=y
 CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
index 1426140183d1c0d9e6d2101cf1ee2d59b6abe7c0..bc57806c74ce32bf95ddf831bb4a93d82fc0dfd5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
                },
        },