From: Hauke Mehrtens Date: Sun, 23 Jul 2017 11:40:40 +0000 (+0200) Subject: kernel: update kernel 4.9 to version 4.9.40 X-Git-Tag: v18.06.0-rc1~2451 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=88f3c635726525f4da1ac24780ee0d506f18c4b6;p=openwrt%2Fopenwrt.git kernel: update kernel 4.9 to version 4.9.40 Signed-off-by: Hauke Mehrtens --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 3033060383..2fcdea4f6c 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -4,11 +4,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 LINUX_VERSION-4.4 = .74 -LINUX_VERSION-4.9 = .37 +LINUX_VERSION-4.9 = .40 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c LINUX_KERNEL_HASH-4.4.74 = c319ad6150d112bd4f8c9d1427868eeafd3ab461becf9457f814e4ba7c57808e -LINUX_KERNEL_HASH-4.9.37 = f61ecf083b690d97cfdeec2b4457992e98882250c4f41ade36fd7cdfda066090 +LINUX_KERNEL_HASH-4.9.40 = 025767f3652a656c7b5ed2949aef205f88a5acfd70ae3fe77710ad37f1662d9b ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index 731fa9206f..2563441393 100644 --- a/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch @@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter #include "xhci.h" #include "xhci-trace.h" -@@ -242,6 +244,458 @@ static void xhci_pme_acpi_rtd3_enable(st +@@ -248,6 +250,458 @@ static void xhci_pme_acpi_rtd3_enable(st static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } #endif /* CONFIG_ACPI */ @@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter /* called during probe() after chip reset completes */ static int xhci_pci_setup(struct usb_hcd *hcd) { -@@ -281,6 +735,22 @@ static int xhci_pci_probe(struct pci_dev +@@ -287,6 +741,22 @@ static int xhci_pci_probe(struct pci_dev struct hc_driver *driver; struct usb_hcd *hcd; @@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter driver = (struct hc_driver *)id->driver_data; /* Prevent runtime suspending between USB-2 and USB-3 initialization */ -@@ -338,6 +808,16 @@ static void xhci_pci_remove(struct pci_d +@@ -344,6 +814,16 @@ static void xhci_pci_remove(struct pci_d { struct xhci_hcd *xhci; diff --git a/target/linux/apm821xx/patches-4.9/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.9/802-usb-xhci-force-msi-renesas-xhci.patch index 0805246f06..76141a0680 100644 --- a/target/linux/apm821xx/patches-4.9/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-4.9/802-usb-xhci-force-msi-renesas-xhci.patch @@ -13,7 +13,7 @@ produce a noisy warning. --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -203,7 +203,7 @@ static void xhci_pci_quirks(struct devic +@@ -205,7 +205,7 @@ static void xhci_pci_quirks(struct devic } if (pdev->vendor == PCI_VENDOR_ID_RENESAS && pdev->device == 0x0015) @@ -24,7 +24,7 @@ produce a noisy warning. --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -387,10 +387,14 @@ static int xhci_try_enable_msi(struct us +@@ -390,10 +390,14 @@ static int xhci_try_enable_msi(struct us free_irq(hcd->irq, hcd); hcd->irq = 0; @@ -44,7 +44,7 @@ produce a noisy warning. /* hcd->irq is 0, we have MSI */ --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1679,6 +1679,7 @@ struct xhci_hcd { +@@ -1680,6 +1680,7 @@ struct xhci_hcd { /* support xHCI 0.96 spec USB2 software LPM */ unsigned sw_lpm_support:1; /* support xHCI 1.0 spec USB2 hardware LPM */ diff --git a/target/linux/bcm53xx/patches-4.9/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-4.9/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index a00e70c32b..a4163fc320 100644 --- a/target/linux/bcm53xx/patches-4.9/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-4.9/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -90,7 +90,7 @@ it on BCM4708 family. /* * Reset a halted HC. * -@@ -565,10 +608,20 @@ int xhci_init(struct usb_hcd *hcd) +@@ -568,10 +611,20 @@ int xhci_init(struct usb_hcd *hcd) static int xhci_run_finished(struct xhci_hcd *xhci) { @@ -114,7 +114,7 @@ it on BCM4708 family. xhci->shared_hcd->state = HC_STATE_RUNNING; xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; -@@ -578,6 +631,10 @@ static int xhci_run_finished(struct xhci +@@ -581,6 +634,10 @@ static int xhci_run_finished(struct xhci xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Finished xhci_run for USB3 roothub"); return 0; @@ -127,11 +127,11 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1661,6 +1661,7 @@ struct xhci_hcd { - #define XHCI_BROKEN_PORT_PED (1 << 25) +@@ -1662,6 +1662,7 @@ struct xhci_hcd { #define XHCI_LIMIT_ENDPOINT_INTERVAL_7 (1 << 26) #define XHCI_U2_DISABLE_WAKE (1 << 27) -+#define XHCI_FAKE_DOORBELL (1 << 28) + #define XHCI_ASMEDIA_MODIFY_FLOWCONTROL (1 << 28) ++#define XHCI_FAKE_DOORBELL (1 << 29) unsigned int num_active_eps; unsigned int limit_active_eps; diff --git a/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch b/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch index d3b4a62361..1886b01cf1 100644 --- a/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch +++ b/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch @@ -106,7 +106,7 @@ Signed-off-by: Linus Lüssing if (prev == port) --- a/net/bridge/br_mdb.c +++ b/net/bridge/br_mdb.c -@@ -531,7 +531,7 @@ static int br_mdb_add_group(struct net_b +@@ -532,7 +532,7 @@ static int br_mdb_add_group(struct net_b break; } diff --git a/target/linux/generic/patches-4.9/201-extra_optimization.patch b/target/linux/generic/patches-4.9/201-extra_optimization.patch index 7e67017ec3..d26461746b 100644 --- a/target/linux/generic/patches-4.9/201-extra_optimization.patch +++ b/target/linux/generic/patches-4.9/201-extra_optimization.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -636,12 +636,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata +@@ -639,12 +639,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE diff --git a/target/linux/generic/patches-4.9/207-disable-modorder.patch b/target/linux/generic/patches-4.9/207-disable-modorder.patch index ca97b77f7e..ad24a8026e 100644 --- a/target/linux/generic/patches-4.9/207-disable-modorder.patch +++ b/target/linux/generic/patches-4.9/207-disable-modorder.patch @@ -5,7 +5,7 @@ Signed-off-by: Felix Fietkau --- --- a/Makefile +++ b/Makefile -@@ -1193,7 +1193,6 @@ all: modules +@@ -1196,7 +1196,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild -@@ -1223,7 +1222,6 @@ _modinst_: +@@ -1226,7 +1225,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/patches-4.9/220-gc_sections.patch b/target/linux/generic/patches-4.9/220-gc_sections.patch index e8a834fbeb..96622f5ef4 100644 --- a/target/linux/generic/patches-4.9/220-gc_sections.patch +++ b/target/linux/generic/patches-4.9/220-gc_sections.patch @@ -398,9 +398,9 @@ Signed-off-by: Gabor Juhos # 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) -@@ -630,11 +635,6 @@ include arch/$(SRCARCH)/Makefile - KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) - KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,) +@@ -633,11 +638,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni + KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow) + KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) -ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION -KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,) diff --git a/target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch b/target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch index 50115e5de6..f94cca0d4f 100644 --- a/target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch @@ -69,7 +69,7 @@ ops = &noqueue_qdisc_ops; --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c -@@ -1976,7 +1976,7 @@ static int __init pktsched_init(void) +@@ -1979,7 +1979,7 @@ static int __init pktsched_init(void) return err; } diff --git a/target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 6062608bb0..1c08785598 100644 --- a/target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -3213,6 +3247,9 @@ static int rt6_fill_node(struct net *net +@@ -3207,6 +3241,9 @@ static int rt6_fill_node(struct net *net case -EACCES: rtm->rtm_type = RTN_PROHIBIT; break; @@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -3489,6 +3526,8 @@ static int ip6_route_dev_notify(struct n +@@ -3483,6 +3520,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); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3711,6 +3750,17 @@ static int __net_init ip6_route_net_init +@@ -3705,6 +3744,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); @@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski #endif net->ipv6.sysctl.flush_delay = 0; -@@ -3729,6 +3779,8 @@ out: +@@ -3723,6 +3773,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -3746,6 +3798,7 @@ static void __net_exit ip6_route_net_exi +@@ -3740,6 +3792,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); @@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -3819,6 +3872,9 @@ void __init ip6_route_init_special_entri +@@ -3813,6 +3866,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); diff --git a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 4d4ca6a134..f77c03b848 100644 --- a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5790,6 +5793,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5800,6 +5803,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info) -@@ -5988,6 +6033,8 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5998,6 +6043,8 @@ void netdev_upper_dev_unlink(struct net_ list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr); @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6588,6 +6635,7 @@ int dev_set_mac_address(struct net_devic +@@ -6598,6 +6645,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch index 0842edec07..eff7350867 100644 --- a/target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch @@ -1,7 +1,7 @@ --- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c -@@ -96,6 +96,8 @@ struct amd_chipset_type { +@@ -106,6 +106,8 @@ struct amd_chipset_type { u8 rev; }; @@ -10,7 +10,7 @@ static struct amd_chipset_info { struct pci_dev *nb_dev; struct pci_dev *smbus_dev; -@@ -449,6 +451,10 @@ void usb_amd_dev_put(void) +@@ -503,6 +505,10 @@ void usb_amd_dev_put(void) } EXPORT_SYMBOL_GPL(usb_amd_dev_put); @@ -21,7 +21,7 @@ /* * Make sure the controller is completely inactive, unable to * generate interrupts or do DMA. -@@ -528,8 +534,17 @@ reset_needed: +@@ -582,8 +588,17 @@ reset_needed: uhci_reset_hc(pdev, base); return 1; } @@ -39,7 +39,7 @@ static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -1096,3 +1111,4 @@ static void quirk_usb_early_handoff(stru +@@ -1150,3 +1165,4 @@ static void quirk_usb_early_handoff(stru } DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff); @@ -56,7 +56,7 @@ int usb_amd_find_chipset_info(void); int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev); bool usb_amd_hang_symptom_quirk(void); -@@ -16,11 +19,24 @@ void usb_disable_xhci_ports(struct pci_d +@@ -17,12 +20,25 @@ void usb_disable_xhci_ports(struct pci_d void sb800_prefetch(struct device *dev, int on); #else struct pci_dev; @@ -74,6 +74,7 @@ +} static inline void usb_amd_quirk_pll_disable(void) {} static inline void usb_amd_quirk_pll_enable(void) {} + static inline void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev) {} static inline void usb_amd_dev_put(void) {} static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {} static inline void sb800_prefetch(struct device *dev, int on) {}