From 334048b2c42109fe46304e3e9343370cfc84e1d3 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Wed, 12 Dec 2018 15:39:25 +0800 Subject: [PATCH] kernel: bump to 3.18.128, 4.9.144, 4.14.87 --- include/kernel-version.mk | 12 +- .../140-GPIO-add-named-gpio-exports.patch | 169 ++++++++++++++++++ ...mware-loader-for-uPD720201-and-uPD72.patch | 6 +- .../802-usb-xhci-force-msi-renesas-xhci.patch | 2 +- target/linux/at91/config-4.9 | 1 + ...support-for-performing-fake-doorbell.patch | 12 +- ...-mark-and-erase-all-remaining-blocks.patch | 2 +- target/linux/brcm2708/bcm2709/config-4.9 | 1 + ...smsx95xx-fix-crimes-against-truesize.patch | 4 +- ...-dtco-targets-when-filtering-symbols.patch | 2 +- .../950-0031-Add-dwc_otg-driver.patch | 2 +- ...o_user-and-__copy_from_user-performa.patch | 10 +- .../950-0149-Update-vfpmodule.c.patch | 10 +- ...packed-not-aligned-warning-for-defau.patch | 45 ----- ...kb_cow_head-to-deal-with-cloned-skbs.patch | 2 +- .../hack-4.14/207-disable-modorder.patch | 4 +- .../generic/hack-4.14/220-gc_sections.patch | 2 +- .../hack-4.14/221-module_exports.patch | 2 +- .../generic/hack-4.14/721-phy_packets.patch | 4 +- .../generic/hack-4.14/902-debloat_proc.patch | 2 +- .../hack-4.9/207-disable-modorder.patch | 4 +- .../generic/hack-4.9/220-gc_sections.patch | 6 +- .../generic/hack-4.9/221-module_exports.patch | 2 +- .../pending-3.18/001-mtdsplit_backport.patch | 10 +- .../002-phy_drivers_backport.patch | 22 +-- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 8 +- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 2 +- .../pending-4.14/201-extra_optimization.patch | 2 +- ...mtd-device-named-ubi-or-data-on-boot.patch | 4 +- .../494-mtd-ubi-add-EOF-marker-support.patch | 2 +- .../pending-4.14/655-increase_skb_pad.patch | 2 +- ...ng-with-source-address-failed-policy.patch | 20 +-- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 8 +- .../pending-4.9/201-extra_optimization.patch | 8 +- ...ng-with-source-address-failed-policy.patch | 14 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 8 +- ...Fixed-missing-RGMII-pincontrol-defin.patch | 50 ++++++ target/linux/layerscape/armv7/config-4.9 | 1 + target/linux/layerscape/armv8_32b/config-4.9 | 1 + .../202-core-linux-support-layerscape.patch | 2 +- .../817-usb-support-layerscape.patch | 6 +- ...low-imod-interval-to-be-configurable.patch | 2 +- ...-MIPS-ralink-Fix-mt7620-nd_sd-pinmux.patch | 29 --- ...support-for-GPIO-as-interrupt-contro.patch | 9 +- .../patches-4.14/101-mt7621-timer.patch | 4 +- .../102-mt7621-fix-cpu-clk-add-clkdev.patch | 2 +- target/linux/rb532/Makefile | 4 +- .../linux/rb532/{config-4.9 => config-4.14} | 0 .../001-cmdline_hack.patch | 0 .../004-rb532-fix-partition-info.patch | 0 ...overflow-and-tx-underflow-interrupts.patch | 14 +- ...actor-rx-descriptor-flags-processing.patch | 0 .../107-use-NAPI_POLL_WEIGHT.patch | 0 .../108-korina-use-gro.patch | 0 .../109-korina-whitespace-cleanup-2.patch | 14 +- .../110-korina-update-authors.patch | 0 .../111-korina-version-bump.patch | 0 57 files changed, 350 insertions(+), 204 deletions(-) create mode 100644 target/linux/apm821xx/patches-4.14/140-GPIO-add-named-gpio-exports.patch delete mode 100644 target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch create mode 100644 target/linux/ipq806x/patches-4.14/0075-ipq8064-pinctrl-Fixed-missing-RGMII-pincontrol-defin.patch delete mode 100644 target/linux/ramips/patches-4.14/0008-MIPS-ralink-Fix-mt7620-nd_sd-pinmux.patch rename target/linux/rb532/{config-4.9 => config-4.14} (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/001-cmdline_hack.patch (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/004-rb532-fix-partition-info.patch (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch (89%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/107-korina-refactor-rx-descriptor-flags-processing.patch (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/107-use-NAPI_POLL_WEIGHT.patch (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/108-korina-use-gro.patch (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/109-korina-whitespace-cleanup-2.patch (90%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/110-korina-update-authors.patch (100%) rename target/linux/rb532/{patches-4.9 => patches-4.14}/111-korina-version-bump.patch (100%) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 3e99587a1..b36287651 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,13 +2,13 @@ LINUX_RELEASE?=1 -LINUX_VERSION-3.18 = .126 -LINUX_VERSION-4.9 = .138 -LINUX_VERSION-4.14 = .82 +LINUX_VERSION-3.18 = .128 +LINUX_VERSION-4.9 = .144 +LINUX_VERSION-4.14 = .87 -LINUX_KERNEL_HASH-3.18.126 = 11a53ccd72f1ee67fe5ea014fdfb0283528f452bb50dc0a2f1b9675b7e8554f9 -LINUX_KERNEL_HASH-4.9.138 = 92301242601d50854b173a3fdec318480e24fc86f32102003a9ed7108fab21b7 -LINUX_KERNEL_HASH-4.14.82 = a790a2e6f6a76d70decec91d1b7bcfba90f821b076273da070f6e0e1e6391dad +LINUX_KERNEL_HASH-3.18.128 = 396368ef7eadf639c6f62ef43ea9c63a05280f926f731c3a86b0aa0e2b3ad2e3 +LINUX_KERNEL_HASH-4.9.144 = 05d17f434d22e9fa2f9084cdf6858383564883d23a1d11ce4dae4b217662782b +LINUX_KERNEL_HASH-4.14.87 = 36744d7d657dab23e455a8096e4ad2dc6a25f25fdce062d8a8bdf4499112e125 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/apm821xx/patches-4.14/140-GPIO-add-named-gpio-exports.patch b/target/linux/apm821xx/patches-4.14/140-GPIO-add-named-gpio-exports.patch new file mode 100644 index 000000000..fe4ea4fc2 --- /dev/null +++ b/target/linux/apm821xx/patches-4.14/140-GPIO-add-named-gpio-exports.patch @@ -0,0 +1,169 @@ +From cc809a441d8f2924f785eb863dfa6aef47a25b0b Mon Sep 17 00:00:00 2001 +From: John Crispin +Date: Tue, 12 Aug 2014 20:49:27 +0200 +Subject: [PATCH 30/36] GPIO: add named gpio exports + +Signed-off-by: John Crispin +--- + drivers/gpio/gpiolib-of.c | 68 +++++++++++++++++++++++++++++++++++++++++ + drivers/gpio/gpiolib.c | 11 +++++-- + include/asm-generic/gpio.h | 5 +++ + include/linux/gpio/consumer.h | 8 +++++ + 4 files changed, 90 insertions(+), 2 deletions(-) + +--- a/drivers/gpio/gpiolib-of.c ++++ b/drivers/gpio/gpiolib-of.c +@@ -23,6 +23,8 @@ + #include + #include + #include ++#include ++#include + + #include "gpiolib.h" + +@@ -507,3 +509,72 @@ void of_gpiochip_remove(struct gpio_chip + gpiochip_remove_pin_ranges(chip); + of_node_put(chip->of_node); + } ++ ++#ifdef CONFIG_GPIO_SYSFS ++ ++static struct of_device_id gpio_export_ids[] = { ++ { .compatible = "gpio-export" }, ++ { /* sentinel */ } ++}; ++ ++static int of_gpio_export_probe(struct platform_device *pdev) ++{ ++ struct device_node *np = pdev->dev.of_node; ++ struct device_node *cnp; ++ u32 val; ++ int nb = 0; ++ ++ for_each_child_of_node(np, cnp) { ++ const char *name = NULL; ++ int gpio; ++ bool dmc; ++ int max_gpio = 1; ++ int i; ++ ++ of_property_read_string(cnp, "gpio-export,name", &name); ++ ++ if (!name) ++ max_gpio = of_gpio_count(cnp); ++ ++ for (i = 0; i < max_gpio; i++) { ++ unsigned flags = 0; ++ enum of_gpio_flags of_flags; ++ ++ gpio = of_get_gpio_flags(cnp, i, &of_flags); ++ if (!gpio_is_valid(gpio)) ++ return gpio; ++ ++ if (of_flags == OF_GPIO_ACTIVE_LOW) ++ flags |= GPIOF_ACTIVE_LOW; ++ ++ if (!of_property_read_u32(cnp, "gpio-export,output", &val)) ++ flags |= val ? GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW; ++ else ++ flags |= GPIOF_IN; ++ ++ if (devm_gpio_request_one(&pdev->dev, gpio, flags, name ? name : of_node_full_name(np))) ++ continue; ++ ++ dmc = of_property_read_bool(cnp, "gpio-export,direction_may_change"); ++ gpio_export_with_name(gpio, dmc, name); ++ nb++; ++ } ++ } ++ ++ dev_info(&pdev->dev, "%d gpio(s) exported\n", nb); ++ ++ return 0; ++} ++ ++static struct platform_driver gpio_export_driver = { ++ .driver = { ++ .name = "gpio-export", ++ .owner = THIS_MODULE, ++ .of_match_table = of_match_ptr(gpio_export_ids), ++ }, ++ .probe = of_gpio_export_probe, ++}; ++ ++module_platform_driver(gpio_export_driver); ++ ++#endif +--- a/include/asm-generic/gpio.h ++++ b/include/asm-generic/gpio.h +@@ -127,6 +127,12 @@ static inline int gpio_export(unsigned g + return gpiod_export(gpio_to_desc(gpio), direction_may_change); + } + ++int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name); ++static inline int gpio_export_with_name(unsigned gpio, bool direction_may_change, const char *name) ++{ ++ return __gpiod_export(gpio_to_desc(gpio), direction_may_change, name); ++} ++ + static inline int gpio_export_link(struct device *dev, const char *name, + unsigned gpio) + { +--- a/include/linux/gpio/consumer.h ++++ b/include/linux/gpio/consumer.h +@@ -451,6 +451,7 @@ struct gpio_desc *devm_fwnode_get_gpiod_ + + #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) + ++int _gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name); + int gpiod_export(struct gpio_desc *desc, bool direction_may_change); + int gpiod_export_link(struct device *dev, const char *name, + struct gpio_desc *desc); +@@ -458,6 +459,13 @@ void gpiod_unexport(struct gpio_desc *de + + #else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */ + ++static inline int _gpiod_export(struct gpio_desc *desc, ++ bool direction_may_change, ++ const char *name) ++{ ++ return -ENOSYS; ++} ++ + static inline int gpiod_export(struct gpio_desc *desc, + bool direction_may_change) + { +--- a/drivers/gpio/gpiolib-sysfs.c ++++ b/drivers/gpio/gpiolib-sysfs.c +@@ -553,7 +553,7 @@ static struct class gpio_class = { + * + * Returns zero on success, else an error. + */ +-int gpiod_export(struct gpio_desc *desc, bool direction_may_change) ++int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name) + { + struct gpio_chip *chip; + struct gpio_device *gdev; +@@ -615,6 +615,8 @@ int gpiod_export(struct gpio_desc *desc, + offset = gpio_chip_hwgpio(desc); + if (chip->names && chip->names[offset]) + ioname = chip->names[offset]; ++ if (name) ++ ioname = name; + + dev = device_create_with_groups(&gpio_class, &gdev->dev, + MKDEV(0, 0), data, gpio_groups, +@@ -636,6 +638,12 @@ err_unlock: + gpiod_dbg(desc, "%s: status %d\n", __func__, status); + return status; + } ++EXPORT_SYMBOL_GPL(__gpiod_export); ++ ++int gpiod_export(struct gpio_desc *desc, bool direction_may_change) ++{ ++ return __gpiod_export(desc, direction_may_change, NULL); ++} + EXPORT_SYMBOL_GPL(gpiod_export); + + static int match_export(struct device *dev, const void *desc) diff --git a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index 5d9b1f606..a06910b81 100644 --- a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-4.14/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" -@@ -257,6 +259,458 @@ static void xhci_pme_acpi_rtd3_enable(st +@@ -262,6 +264,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) { -@@ -292,6 +746,22 @@ static int xhci_pci_probe(struct pci_dev +@@ -297,6 +751,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; /* For some HW implementation, a XHCI reset is just not enough... */ -@@ -356,6 +826,16 @@ static void xhci_pci_remove(struct pci_d +@@ -361,6 +831,16 @@ static void xhci_pci_remove(struct pci_d { struct xhci_hcd *xhci; diff --git a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch index 141b839d6..60e539680 100644 --- a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch @@ -44,7 +44,7 @@ produce a noisy warning. hcd->msi_enabled = 1; --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1854,6 +1854,7 @@ struct xhci_hcd { +@@ -1857,6 +1857,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/at91/config-4.9 b/target/linux/at91/config-4.9 index a44d3ac52..c836f48f9 100644 --- a/target/linux/at91/config-4.9 +++ b/target/linux/at91/config-4.9 @@ -199,6 +199,7 @@ CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_SYSFS=y CONFIG_GRACE_PERIOD=y CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/bcm53xx/patches-4.14/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-4.14/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index 7ab5ffcb1..f7dd241e2 100644 --- a/target/linux/bcm53xx/patches-4.14/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-4.14/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -127,11 +127,11 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1835,6 +1835,7 @@ struct xhci_hcd { - #define XHCI_LIMIT_ENDPOINT_INTERVAL_7 (1 << 26) - #define XHCI_U2_DISABLE_WAKE (1 << 27) - #define XHCI_ASMEDIA_MODIFY_FLOWCONTROL (1 << 28) -+#define XHCI_FAKE_DOORBELL (1 << 29) - #define XHCI_SUSPEND_DELAY (1 << 30) +@@ -1839,6 +1839,7 @@ struct xhci_hcd { + #define XHCI_SUSPEND_DELAY BIT_ULL(30) + #define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31) + #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) ++#define XHCI_FAKE_DOORBELL BIT_ULL(35) unsigned int num_active_eps; + unsigned int limit_active_eps; diff --git a/target/linux/bcm53xx/patches-4.14/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch b/target/linux/bcm53xx/patches-4.14/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch index 271d98cc8..a86f4a840 100644 --- a/target/linux/bcm53xx/patches-4.14/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch +++ b/target/linux/bcm53xx/patches-4.14/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch @@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki return UBI_IO_BAD_HDR_EBADMSG; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -822,6 +822,7 @@ extern struct mutex ubi_devices_mutex; +@@ -829,6 +829,7 @@ extern struct mutex ubi_devices_mutex; extern struct blocking_notifier_head ubi_notifiers; /* attach.c */ diff --git a/target/linux/brcm2708/bcm2709/config-4.9 b/target/linux/brcm2708/bcm2709/config-4.9 index 4e505edce..0910fa6ea 100644 --- a/target/linux/brcm2708/bcm2709/config-4.9 +++ b/target/linux/brcm2708/bcm2709/config-4.9 @@ -202,6 +202,7 @@ CONFIG_GPIO_BCM_EXP=y CONFIG_GPIO_BCM_VIRT=y CONFIG_GPIO_SYSFS=y CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/brcm2708/patches-4.9/950-0001-smsx95xx-fix-crimes-against-truesize.patch b/target/linux/brcm2708/patches-4.9/950-0001-smsx95xx-fix-crimes-against-truesize.patch index 8916e5274..b0de3f211 100644 --- a/target/linux/brcm2708/patches-4.9/950-0001-smsx95xx-fix-crimes-against-truesize.patch +++ b/target/linux/brcm2708/patches-4.9/950-0001-smsx95xx-fix-crimes-against-truesize.patch @@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1954,7 +1958,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1961,7 +1965,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning return 1; } -@@ -1972,7 +1977,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1979,7 +1984,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ diff --git a/target/linux/brcm2708/patches-4.9/950-0028-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch b/target/linux/brcm2708/patches-4.9/950-0028-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch index 52fe8a228..28f337b0e 100644 --- a/target/linux/brcm2708/patches-4.9/950-0028-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch +++ b/target/linux/brcm2708/patches-4.9/950-0028-kbuild-Ignore-dtco-targets-when-filtering-symbols.patch @@ -9,7 +9,7 @@ Subject: [PATCH] kbuild: Ignore dtco targets when filtering symbols --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include -@@ -285,7 +285,7 @@ ksym_dep_filter = +@@ -295,7 +295,7 @@ ksym_dep_filter = $(CPP) $(call flags_nodeps,c_flags) -D__KSYM_DEPS__ $< ;; \ as_*_S|cpp_s_S) \ $(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;; \ diff --git a/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch index 12174919b..707e1a34a 100644 --- a/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch @@ -696,7 +696,7 @@ Signed-off-by: Noralf Trønnes } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5072,7 +5072,7 @@ static void port_event(struct usb_hub *h +@@ -5074,7 +5074,7 @@ static void port_event(struct usb_hub *h if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; diff --git a/target/linux/brcm2708/patches-4.9/950-0063-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/target/linux/brcm2708/patches-4.9/950-0063-Improve-__copy_to_user-and-__copy_from_user-performa.patch index 016d48dd2..c1e5858bc 100644 --- a/target/linux/brcm2708/patches-4.9/950-0063-Improve-__copy_to_user-and-__copy_from_user-performa.patch +++ b/target/linux/brcm2708/patches-4.9/950-0063-Improve-__copy_to_user-and-__copy_from_user-performa.patch @@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell #define memset(p,v,n) \ --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h -@@ -477,6 +477,9 @@ do { \ +@@ -489,6 +489,9 @@ do { \ extern unsigned long __must_check arm_copy_from_user(void *to, const void __user *from, unsigned long n); @@ -262,17 +262,21 @@ Signed-off-by: Phil Elwell +.endm --- a/arch/arm/lib/copy_from_user.S +++ b/arch/arm/lib/copy_from_user.S -@@ -89,11 +89,13 @@ +@@ -89,7 +89,8 @@ .text -ENTRY(arm_copy_from_user) +ENTRY(__copy_from_user_std) +WEAK(arm_copy_from_user) + #ifdef CONFIG_CPU_SPECTRE + get_thread_info r3 + ldr r3, [r3, #TI_ADDR_LIMIT] +@@ -102,7 +103,7 @@ ENTRY(arm_copy_from_user) #include "copy_template.S" - ENDPROC(arm_copy_from_user) +-ENDPROC(arm_copy_from_user) +ENDPROC(__copy_from_user_std) .pushsection .fixup,"ax" diff --git a/target/linux/brcm2708/patches-4.9/950-0149-Update-vfpmodule.c.patch b/target/linux/brcm2708/patches-4.9/950-0149-Update-vfpmodule.c.patch index 16d740aaf..78606ed61 100644 --- a/target/linux/brcm2708/patches-4.9/950-0149-Update-vfpmodule.c.patch +++ b/target/linux/brcm2708/patches-4.9/950-0149-Update-vfpmodule.c.patch @@ -102,15 +102,15 @@ Signed-off-by: Christopher Alexander Tobias Schulze vfp_save_state(&thread->vfpstate, fpexc | FPEXC_EN); fmxr(FPEXC, fpexc); } -@@ -604,6 +611,7 @@ int vfp_restore_user_hwstate(struct user +@@ -602,6 +609,7 @@ int vfp_restore_user_hwstate(struct user + struct thread_info *thread = current_thread_info(); struct vfp_hard_struct *hwstate = &thread->vfpstate.hard; unsigned long fpexc; - int err = 0; + u32 fpsid = fmrx(FPSID); /* Disable VFP to avoid corrupting the new thread state. */ vfp_flush_hwstate(thread); -@@ -627,8 +635,12 @@ int vfp_restore_user_hwstate(struct user +@@ -624,8 +632,12 @@ int vfp_restore_user_hwstate(struct user /* Ensure the VFP is enabled. */ fpexc |= FPEXC_EN; @@ -124,8 +124,8 @@ Signed-off-by: Christopher Alexander Tobias Schulze + hwstate->fpexc = fpexc; - __get_user_error(hwstate->fpinst, &ufp_exc->fpinst, err); -@@ -698,7 +710,8 @@ void kernel_neon_begin(void) + hwstate->fpinst = ufp_exc->fpinst; +@@ -695,7 +707,8 @@ void kernel_neon_begin(void) cpu = get_cpu(); fpexc = fmrx(FPEXC) | FPEXC_EN; diff --git a/target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch b/target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch deleted file mode 100644 index a6e312a09..000000000 --- a/target/linux/generic/backport-4.9/014-Kbuild-suppress-packed-not-aligned-warning-for-defau.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Xiongfeng Wang -Date: Thu, 11 Jan 2018 17:22:29 +0800 -Subject: [PATCH] Kbuild: suppress packed-not-aligned warning for default - setting only - -gcc-8 reports many -Wpacked-not-aligned warnings. The below are some -examples. - -./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct -ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] - } __attribute__ ((packed)); - -./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct -ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] - } __attribute__ ((packed)); - -./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct -ceph_entity_addr' is less than 8 [-Wpacked-not-aligned] - } __attribute__ ((packed)); - -This patch suppresses this kind of warnings for default setting. - -Signed-off-by: Xiongfeng Wang -Signed-off-by: Masahiro Yamada ---- - ---- a/scripts/Makefile.extrawarn -+++ b/scripts/Makefile.extrawarn -@@ -10,6 +10,8 @@ - # are not supported by all versions of the compiler - # ========================================================================== - -+KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) -+ - ifeq ("$(origin W)", "command line") - export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W) - endif -@@ -25,6 +27,7 @@ warning-1 += -Wold-style-definition - warning-1 += $(call cc-option, -Wmissing-include-dirs) - warning-1 += $(call cc-option, -Wunused-but-set-variable) - warning-1 += $(call cc-option, -Wunused-const-variable) -+warning-1 += $(call cc-option, -Wpacked-not-aligned) - warning-1 += $(call cc-disable-warning, missing-field-initializers) - warning-1 += $(call cc-disable-warning, sign-compare) - diff --git a/target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch index c665900dc..9fbdfe4a0 100644 --- a/target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch +++ b/target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c -@@ -2004,13 +2004,13 @@ static struct sk_buff *smsc95xx_tx_fixup +@@ -2011,13 +2011,13 @@ static struct sk_buff *smsc95xx_tx_fixup /* We do not advertise SG, so skbs should be already linearized */ BUG_ON(skb_shinfo(skb)->nr_frags); diff --git a/target/linux/generic/hack-4.14/207-disable-modorder.patch b/target/linux/generic/hack-4.14/207-disable-modorder.patch index fcc1580de..0619dcaa7 100644 --- a/target/linux/generic/hack-4.14/207-disable-modorder.patch +++ b/target/linux/generic/hack-4.14/207-disable-modorder.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -1232,7 +1232,6 @@ all: modules +@@ -1237,7 +1237,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost -@@ -1261,7 +1260,6 @@ _modinst_: +@@ -1266,7 +1265,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/hack-4.14/220-gc_sections.patch b/target/linux/generic/hack-4.14/220-gc_sections.patch index fd53dbd40..d25723240 100644 --- a/target/linux/generic/hack-4.14/220-gc_sections.patch +++ b/target/linux/generic/hack-4.14/220-gc_sections.patch @@ -33,7 +33,7 @@ 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) -@@ -786,11 +791,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH +@@ -788,11 +793,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once) endif diff --git a/target/linux/generic/hack-4.14/221-module_exports.patch b/target/linux/generic/hack-4.14/221-module_exports.patch index 2f59d6e93..250bf1180 100644 --- a/target/linux/generic/hack-4.14/221-module_exports.patch +++ b/target/linux/generic/hack-4.14/221-module_exports.patch @@ -90,7 +90,7 @@ Signed-off-by: Felix Fietkau __used \ --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -434,7 +434,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $( +@@ -432,7 +432,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $( # Linker scripts preprocessor (.lds.S -> .lds) # --------------------------------------------------------------------------- quiet_cmd_cpp_lds_S = LDS $@ diff --git a/target/linux/generic/hack-4.14/721-phy_packets.patch b/target/linux/generic/hack-4.14/721-phy_packets.patch index ebe4787b6..d27d94e04 100644 --- a/target/linux/generic/hack-4.14/721-phy_packets.patch +++ b/target/linux/generic/hack-4.14/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2496,6 +2496,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2512,6 +2512,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2626,16 +2630,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2642,16 +2646,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-4.14/902-debloat_proc.patch b/target/linux/generic/hack-4.14/902-debloat_proc.patch index 4e700ca0b..cae6d66e7 100644 --- a/target/linux/generic/hack-4.14/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.14/902-debloat_proc.patch @@ -243,7 +243,7 @@ Signed-off-by: Felix Fietkau } --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -1951,10 +1951,12 @@ void __init init_mm_internals(void) +@@ -1955,10 +1955,12 @@ void __init init_mm_internals(void) start_shepherd_timer(); #endif #ifdef CONFIG_PROC_FS diff --git a/target/linux/generic/hack-4.9/207-disable-modorder.patch b/target/linux/generic/hack-4.9/207-disable-modorder.patch index 22e863c28..025a18bcc 100644 --- a/target/linux/generic/hack-4.9/207-disable-modorder.patch +++ b/target/linux/generic/hack-4.9/207-disable-modorder.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -1213,7 +1213,6 @@ all: modules +@@ -1229,7 +1229,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -23,7 +23,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 -@@ -1243,7 +1242,6 @@ _modinst_: +@@ -1259,7 +1258,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/hack-4.9/220-gc_sections.patch b/target/linux/generic/hack-4.9/220-gc_sections.patch index 313174489..ea8050903 100644 --- a/target/linux/generic/hack-4.9/220-gc_sections.patch +++ b/target/linux/generic/hack-4.9/220-gc_sections.patch @@ -33,7 +33,7 @@ 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) -@@ -638,11 +643,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -671,11 +676,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias) @@ -43,8 +43,8 @@ Signed-off-by: Gabor Juhos -endif - ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE - KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION) - else + KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) + KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION) --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -81,6 +81,7 @@ config ARM diff --git a/target/linux/generic/hack-4.9/221-module_exports.patch b/target/linux/generic/hack-4.9/221-module_exports.patch index a2027d0d5..f357d73d6 100644 --- a/target/linux/generic/hack-4.9/221-module_exports.patch +++ b/target/linux/generic/hack-4.9/221-module_exports.patch @@ -90,7 +90,7 @@ Signed-off-by: Felix Fietkau __used \ --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -401,7 +401,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $( +@@ -409,7 +409,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $( # Linker scripts preprocessor (.lds.S -> .lds) # --------------------------------------------------------------------------- quiet_cmd_cpp_lds_S = LDS $@ diff --git a/target/linux/generic/pending-3.18/001-mtdsplit_backport.patch b/target/linux/generic/pending-3.18/001-mtdsplit_backport.patch index f0f2effbe..f64a568fb 100644 --- a/target/linux/generic/pending-3.18/001-mtdsplit_backport.patch +++ b/target/linux/generic/pending-3.18/001-mtdsplit_backport.patch @@ -67,7 +67,7 @@ struct mtd_partition *part; --- a/drivers/mtd/mtdsplit/mtdsplit_tplink.c +++ b/drivers/mtd/mtdsplit/mtdsplit_tplink.c -@@ -83,8 +83,8 @@ struct tplink_fw_header { +@@ -84,8 +84,8 @@ struct tplink_fw_header { }; static int mtdsplit_parse_tplink(struct mtd_info *master, @@ -91,7 +91,7 @@ struct mtd_partition *parts; --- a/drivers/mtd/mtdsplit/mtdsplit_uimage.c +++ b/drivers/mtd/mtdsplit/mtdsplit_uimage.c -@@ -81,7 +81,7 @@ read_uimage_header(struct mtd_info *mtd, +@@ -82,7 +82,7 @@ read_uimage_header(struct mtd_info *mtd, * of a valid uImage header if found */ static int __mtdsplit_parse_uimage(struct mtd_info *master, @@ -100,7 +100,7 @@ struct mtd_part_parser_data *data, ssize_t (*find_header)(u_char *buf, size_t len)) { -@@ -232,7 +232,7 @@ static ssize_t uimage_verify_default(u_c +@@ -233,7 +233,7 @@ static ssize_t uimage_verify_default(u_c static int mtdsplit_uimage_parse_generic(struct mtd_info *master, @@ -109,7 +109,7 @@ struct mtd_part_parser_data *data) { return __mtdsplit_parse_uimage(master, pparts, data, -@@ -289,7 +289,7 @@ static ssize_t uimage_verify_wndr3700(u_ +@@ -300,7 +300,7 @@ static ssize_t uimage_verify_wndr3700(u_ static int mtdsplit_uimage_parse_netgear(struct mtd_info *master, @@ -118,7 +118,7 @@ struct mtd_part_parser_data *data) { return __mtdsplit_parse_uimage(master, pparts, data, -@@ -331,7 +331,7 @@ static ssize_t uimage_find_edimax(u_char +@@ -352,7 +352,7 @@ static ssize_t uimage_find_edimax(u_char static int mtdsplit_uimage_parse_edimax(struct mtd_info *master, diff --git a/target/linux/generic/pending-3.18/002-phy_drivers_backport.patch b/target/linux/generic/pending-3.18/002-phy_drivers_backport.patch index c718f8ee6..e2ca05384 100644 --- a/target/linux/generic/pending-3.18/002-phy_drivers_backport.patch +++ b/target/linux/generic/pending-3.18/002-phy_drivers_backport.patch @@ -95,7 +95,7 @@ ret |= BMCR_ANENABLE | BMCR_ANRESTART; return phy_write(phydev, MII_BMCR, ret); } -@@ -2012,7 +2012,7 @@ ar8xxx_phy_config_init(struct phy_device +@@ -2021,7 +2021,7 @@ ar8xxx_phy_config_init(struct phy_device priv->phy = phydev; @@ -104,7 +104,7 @@ if (chip_is_ar8316(priv)) { /* switch device has been initialized, reinit */ priv->dev.ports = (AR8216_NUM_PORTS - 1); -@@ -2060,7 +2060,7 @@ ar8xxx_check_link_states(struct ar8xxx_p +@@ -2069,7 +2069,7 @@ ar8xxx_check_link_states(struct ar8xxx_p /* flush ARL entries for this port if it went down*/ if (!link_new) priv->chip->atu_flush_port(priv, i); @@ -113,7 +113,7 @@ i, link_new ? "up" : "down"); } -@@ -2079,10 +2079,10 @@ ar8xxx_phy_read_status(struct phy_device +@@ -2088,10 +2088,10 @@ ar8xxx_phy_read_status(struct phy_device if (phydev->state == PHY_CHANGELINK) ar8xxx_check_link_states(priv); @@ -126,7 +126,7 @@ phydev->link = !!link.link; if (!phydev->link) return 0; -@@ -2112,7 +2112,7 @@ ar8xxx_phy_read_status(struct phy_device +@@ -2122,7 +2122,7 @@ ar8xxx_phy_read_status(struct phy_device static int ar8xxx_phy_config_aneg(struct phy_device *phydev) { @@ -135,12 +135,12 @@ return 0; return genphy_config_aneg(phydev); -@@ -2167,15 +2167,15 @@ ar8xxx_phy_probe(struct phy_device *phyd +@@ -2177,15 +2177,15 @@ ar8xxx_phy_probe(struct phy_device *phyd int ret; /* skip PHYs at unused adresses */ -- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 4) -+ if (phydev->addr != 0 && phydev->addr != 4) +- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 3 && phydev->mdio.addr != 4) ++ if (phydev->addr != 0 && phydev->addr != 3 && phydev->addr != 4) return -ENODEV; - if (!ar8xxx_is_possible(phydev->mdio.bus)) @@ -154,7 +154,7 @@ goto found; priv = ar8xxx_create(); -@@ -2184,7 +2184,7 @@ ar8xxx_phy_probe(struct phy_device *phyd +@@ -2194,7 +2194,7 @@ ar8xxx_phy_probe(struct phy_device *phyd goto unlock; } @@ -163,7 +163,7 @@ ret = ar8xxx_probe_switch(priv); if (ret) -@@ -2205,7 +2205,7 @@ ar8xxx_phy_probe(struct phy_device *phyd +@@ -2215,7 +2215,7 @@ ar8xxx_phy_probe(struct phy_device *phyd found: priv->use_count++; @@ -172,7 +172,7 @@ if (ar8xxx_has_gige(priv)) { phydev->supported = SUPPORTED_1000baseT_Full; phydev->advertising = ADVERTISED_1000baseT_Full; -@@ -2293,21 +2293,33 @@ ar8xxx_phy_soft_reset(struct phy_device +@@ -2305,21 +2305,33 @@ ar8xxx_phy_soft_reset(struct phy_device return 0; } @@ -223,7 +223,7 @@ MODULE_LICENSE("GPL"); --- a/drivers/net/phy/ar8327.c +++ b/drivers/net/phy/ar8327.c -@@ -619,11 +619,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv) +@@ -662,11 +662,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv) if (!priv->chip_data) return -ENOMEM; diff --git a/target/linux/generic/pending-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 1f2f89daa..038c75b68 100644 --- a/target/linux/generic/pending-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-3.18/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; -@@ -5099,6 +5102,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5103,6 +5106,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 *private) -@@ -5159,6 +5204,7 @@ static int __netdev_upper_dev_link(struc +@@ -5163,6 +5208,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev); return 0; -@@ -5276,6 +5322,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5280,6 +5326,7 @@ 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); @@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev); } EXPORT_SYMBOL(netdev_upper_dev_unlink); -@@ -5795,6 +5842,7 @@ int dev_set_mac_address(struct net_devic +@@ -5799,6 +5846,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/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index bbcb7c23f..53b1a9a13 100644 --- a/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -6153,7 +6153,7 @@ static void __ref alloc_node_mem_map(str +@@ -6151,7 +6151,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) diff --git a/target/linux/generic/pending-4.14/201-extra_optimization.patch b/target/linux/generic/pending-4.14/201-extra_optimization.patch index 42cd7f158..c7790657f 100644 --- a/target/linux/generic/pending-4.14/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.14/201-extra_optimization.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -652,12 +652,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -654,12 +654,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) diff --git a/target/linux/generic/pending-4.14/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/pending-4.14/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch index 6e4dd3b36..992aa4662 100644 --- a/target/linux/generic/pending-4.14/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch +++ b/target/linux/generic/pending-4.14/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch @@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c -@@ -1171,6 +1171,73 @@ static struct mtd_info * __init open_mtd +@@ -1172,6 +1172,73 @@ static struct mtd_info * __init open_mtd return mtd; } @@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle static int __init ubi_init(void) { int err, i, k; -@@ -1254,6 +1321,12 @@ static int __init ubi_init(void) +@@ -1255,6 +1322,12 @@ static int __init ubi_init(void) } } diff --git a/target/linux/generic/pending-4.14/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/pending-4.14/494-mtd-ubi-add-EOF-marker-support.patch index c8e25710b..a3b58dd66 100644 --- a/target/linux/generic/pending-4.14/494-mtd-ubi-add-EOF-marker-support.patch +++ b/target/linux/generic/pending-4.14/494-mtd-ubi-add-EOF-marker-support.patch @@ -50,7 +50,7 @@ Signed-off-by: Gabor Juhos break; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -778,6 +778,7 @@ struct ubi_attach_info { +@@ -785,6 +785,7 @@ struct ubi_attach_info { int mean_ec; uint64_t ec_sum; int ec_count; diff --git a/target/linux/generic/pending-4.14/655-increase_skb_pad.patch b/target/linux/generic/pending-4.14/655-increase_skb_pad.patch index 71c3fc790..adb6b0452 100644 --- a/target/linux/generic/pending-4.14/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-4.14/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2460,7 +2460,7 @@ static inline int pskb_network_may_pull( +@@ -2476,7 +2476,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index a5cb9579f..139758038 100644 --- a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -2043,6 +2060,11 @@ static struct rt6_info *ip6_route_info_c +@@ -2046,6 +2063,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 case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -2768,6 +2790,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -2771,6 +2793,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 /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -3004,7 +3037,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -3007,7 +3040,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 cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -3499,6 +3533,9 @@ static int rt6_fill_node(struct net *net +@@ -3502,6 +3536,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 case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -3817,6 +3854,8 @@ static int ip6_route_dev_notify(struct n +@@ -3820,6 +3857,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 net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3828,6 +3867,7 @@ static int ip6_route_dev_notify(struct n +@@ -3831,6 +3870,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 in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -4044,6 +4084,17 @@ static int __net_init ip6_route_net_init +@@ -4047,6 +4087,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 #endif net->ipv6.sysctl.flush_delay = 0; -@@ -4062,6 +4113,8 @@ out: +@@ -4065,6 +4116,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -4079,6 +4132,7 @@ static void __net_exit ip6_route_net_exi +@@ -4082,6 +4135,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 #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -4152,6 +4206,9 @@ void __init ip6_route_init_special_entri +@@ -4155,6 +4209,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/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index feeb7e70f..236a7833d 100644 --- a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -6275,6 +6278,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 static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info) -@@ -6313,6 +6358,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 ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -6390,6 +6436,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 call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6962,6 +7009,7 @@ int dev_set_mac_address(struct net_devic +@@ -6966,6 +7013,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/pending-4.9/201-extra_optimization.patch b/target/linux/generic/pending-4.9/201-extra_optimization.patch index 8197f7bb9..6cc23a261 100644 --- a/target/linux/generic/pending-4.9/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.9/201-extra_optimization.patch @@ -14,12 +14,12 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -644,12 +644,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata - endif +@@ -678,12 +678,12 @@ endif 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) + KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) +-KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) ++KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION) else ifdef CONFIG_PROFILE_ALL_BRANCHES -KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) diff --git a/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index c8deaba84..2cebf55a4 100644 --- a/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -1967,6 +1984,11 @@ static struct rt6_info *ip6_route_info_c +@@ -1970,6 +1987,11 @@ static struct rt6_info *ip6_route_info_c rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -3490,6 +3527,8 @@ static int ip6_route_dev_notify(struct n +@@ -3498,6 +3535,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 net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3501,6 +3540,7 @@ static int ip6_route_dev_notify(struct n +@@ -3509,6 +3548,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski in6_dev_put(net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -3716,6 +3756,17 @@ static int __net_init ip6_route_net_init +@@ -3724,6 +3764,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 #endif net->ipv6.sysctl.flush_delay = 0; -@@ -3734,6 +3785,8 @@ out: +@@ -3742,6 +3793,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -3751,6 +3804,7 @@ static void __net_exit ip6_route_net_exi +@@ -3759,6 +3812,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 #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -3824,6 +3878,9 @@ void __init ip6_route_init_special_entri +@@ -3832,6 +3886,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/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 58518f9cf..037d2e138 100644 --- a/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5860,6 +5863,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5864,6 +5867,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -93,7 +93,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) -@@ -5932,6 +5977,7 @@ static int __netdev_upper_dev_link(struc +@@ -5936,6 +5981,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -6058,6 +6104,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -6062,6 +6108,7 @@ 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); @@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6660,6 +6707,7 @@ int dev_set_mac_address(struct net_devic +@@ -6664,6 +6711,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/ipq806x/patches-4.14/0075-ipq8064-pinctrl-Fixed-missing-RGMII-pincontrol-defin.patch b/target/linux/ipq806x/patches-4.14/0075-ipq8064-pinctrl-Fixed-missing-RGMII-pincontrol-defin.patch new file mode 100644 index 000000000..2867239d1 --- /dev/null +++ b/target/linux/ipq806x/patches-4.14/0075-ipq8064-pinctrl-Fixed-missing-RGMII-pincontrol-defin.patch @@ -0,0 +1,50 @@ +From a3488aa9bed37c56e405967d44e821c484b5d6b9 Mon Sep 17 00:00:00 2001 +From: Ram Chandra Jangir +Date: Fri, 28 Sep 2018 15:19:50 +0530 +Subject: [PATCH] ipq8064: pinctrl: Fixed missing RGMII pincontrol definitions + +Signed-off-by: Ram Chandra Jangir +--- + drivers/pinctrl/qcom/pinctrl-ipq8064.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c ++++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c +@@ -308,7 +308,7 @@ static const char * const gpio_groups[] + }; + + static const char * const mdio_groups[] = { +- "gpio0", "gpio1", "gpio10", "gpio11", ++ "gpio0", "gpio1", "gpio2", "gpio10", "gpio11", "gpio66", + }; + + static const char * const mi2s_groups[] = { +@@ -412,8 +412,8 @@ static const char * const usb2_hsic_grou + }; + + static const char * const rgmii2_groups[] = { +- "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", +- "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62", ++ "gpio2", "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", ++ "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62", "gpio66", + }; + + static const char * const sata_groups[] = { +@@ -548,7 +548,7 @@ static const struct msm_function ipq8064 + static const struct msm_pingroup ipq8064_groups[] = { + PINGROUP(0, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(1, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA), +- PINGROUP(2, gsbi5_spi_cs3, NA, NA, NA, NA, NA, NA, NA, NA, NA), ++ PINGROUP(2, gsbi5_spi_cs3, rgmii2, mdio, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(3, pcie1_rst, pcie1_prsnt, pdm, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(4, pcie1_pwren_n, pcie1_pwren, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(5, pcie1_clk_req, pcie1_pwrflt, NA, NA, NA, NA, NA, NA, NA, NA), +@@ -612,7 +612,7 @@ static const struct msm_pingroup ipq8064 + PINGROUP(63, pcie3_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(65, pcie3_clk_req, NA, NA, NA, NA, NA, NA, NA, NA, NA), +- PINGROUP(66, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), ++ PINGROUP(66, rgmii2, mdio, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(67, usb2_hsic, NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(68, usb2_hsic, NA, NA, NA, NA, NA, NA, NA, NA, NA), + SDC_PINGROUP(sdc3_clk, 0x204a, 14, 6), diff --git a/target/linux/layerscape/armv7/config-4.9 b/target/linux/layerscape/armv7/config-4.9 index bbbef5239..9eae0fabc 100644 --- a/target/linux/layerscape/armv7/config-4.9 +++ b/target/linux/layerscape/armv7/config-4.9 @@ -353,6 +353,7 @@ CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TWL4030=y CONFIG_GPIO_XILINX=y CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/layerscape/armv8_32b/config-4.9 b/target/linux/layerscape/armv8_32b/config-4.9 index ff8949d4a..d5bedb4ee 100644 --- a/target/linux/layerscape/armv8_32b/config-4.9 +++ b/target/linux/layerscape/armv8_32b/config-4.9 @@ -502,6 +502,7 @@ CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TWL4030=y CONFIG_GPIO_XILINX=y CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch index 28a4d111a..8a431a02e 100644 --- a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch @@ -1297,7 +1297,7 @@ Signed-off-by: Yangbo Lu #ifdef CONFIG_XPS static DEFINE_MUTEX(xps_map_mutex); #define xmap_dereference(P) \ -@@ -6652,9 +6669,18 @@ int dev_set_mtu(struct net_device *dev, +@@ -6656,9 +6673,18 @@ int dev_set_mtu(struct net_device *dev, if (new_mtu == dev->mtu) return 0; diff --git a/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch b/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch index cad2b41aa..a6a1594a9 100644 --- a/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch @@ -157,7 +157,7 @@ Signed-off-by: Yangbo Lu int ret; --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -4431,6 +4431,14 @@ hub_port_init(struct usb_hub *hub, struc +@@ -4433,6 +4433,14 @@ hub_port_init(struct usb_hub *hub, struc else speed = usb_speed_string(udev->speed); @@ -637,7 +637,7 @@ Signed-off-by: Yangbo Lu --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c -@@ -2932,6 +2932,7 @@ static irqreturn_t dwc3_interrupt(int ir +@@ -2927,6 +2927,7 @@ static irqreturn_t dwc3_interrupt(int ir int dwc3_gadget_init(struct dwc3 *dwc) { int ret, irq; @@ -645,7 +645,7 @@ Signed-off-by: Yangbo Lu struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); irq = platform_get_irq_byname(dwc3_pdev, "peripheral"); -@@ -3046,6 +3047,12 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3041,6 +3042,12 @@ int dwc3_gadget_init(struct dwc3 *dwc) goto err5; } diff --git a/target/linux/mediatek/patches-4.14/0191-usb-xhci-allow-imod-interval-to-be-configurable.patch b/target/linux/mediatek/patches-4.14/0191-usb-xhci-allow-imod-interval-to-be-configurable.patch index ded3916c5..d28993ae3 100644 --- a/target/linux/mediatek/patches-4.14/0191-usb-xhci-allow-imod-interval-to-be-configurable.patch +++ b/target/linux/mediatek/patches-4.14/0191-usb-xhci-allow-imod-interval-to-be-configurable.patch @@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman if (!xhci->shared_hcd) { --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -268,6 +268,9 @@ static int xhci_pci_setup(struct usb_hcd +@@ -273,6 +273,9 @@ static int xhci_pci_setup(struct usb_hcd if (!xhci->sbrn) pci_read_config_byte(pdev, XHCI_SBRN_OFFSET, &xhci->sbrn); diff --git a/target/linux/ramips/patches-4.14/0008-MIPS-ralink-Fix-mt7620-nd_sd-pinmux.patch b/target/linux/ramips/patches-4.14/0008-MIPS-ralink-Fix-mt7620-nd_sd-pinmux.patch deleted file mode 100644 index acfda58f3..000000000 --- a/target/linux/ramips/patches-4.14/0008-MIPS-ralink-Fix-mt7620-nd_sd-pinmux.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d41237229464ae03fe116b591e8a2fda4ffea48e Mon Sep 17 00:00:00 2001 -From: Mathias Kresin -Date: Sun, 28 Oct 2018 12:46:55 +0100 -Subject: [PATCH] MIPS: ralink: Fix mt7620 nd_sd pinmux - -In case the nd_sd group is set to the sd-card function, Pins 45 + 46 are -configured as GPIOs. If they are blocked by the sd function, they can't -be used as GPIOs. - -Signed-off-by: Mathias Kresin -Reported-by: Kristian Evensen -Fixes: f576fb6a0700 ("MIPS: ralink: cleanup the soc specific pinmux -data") -Cc: stable@vger.kernel.org # v3.18+ ---- - arch/mips/ralink/mt7620.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/mips/ralink/mt7620.c -+++ b/arch/mips/ralink/mt7620.c -@@ -84,7 +84,7 @@ static struct rt2880_pmx_func pcie_rst_g - }; - static struct rt2880_pmx_func nd_sd_grp[] = { - FUNC("nand", MT7620_GPIO_MODE_NAND, 45, 15), -- FUNC("sd", MT7620_GPIO_MODE_SD, 45, 15) -+ FUNC("sd", MT7620_GPIO_MODE_SD, 47, 13) - }; - - static struct rt2880_pmx_group mt7620a_pinmux_data[] = { diff --git a/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch b/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch index d93f39c74..8520ce32f 100644 --- a/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch +++ b/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch @@ -9,8 +9,6 @@ Signed-off-by: Daniel Santos drivers/gpio/gpio-ralink.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) -diff --git a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt -index 5cd17f225fe3..2775449614d4 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt @@ -17,6 +17,9 @@ Required properties: @@ -33,11 +31,9 @@ index 5cd17f225fe3..2775449614d4 100644 interrupt-parent = <&intc>; interrupts = <6>; -diff --git a/drivers/gpio/gpio-ralink.c b/drivers/gpio/gpio-ralink.c -index 27910e384013..b6e30083d012 100644 --- a/drivers/gpio/gpio-ralink.c +++ b/drivers/gpio/gpio-ralink.c -@@ -220,7 +220,7 @@ static int gpio_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) +@@ -220,7 +220,7 @@ static int gpio_map(struct irq_domain *d } static const struct irq_domain_ops irq_domain_ops = { @@ -46,6 +42,3 @@ index 27910e384013..b6e30083d012 100644 .map = gpio_map, }; --- -2.16.4 - diff --git a/target/linux/ramips/patches-4.14/101-mt7621-timer.patch b/target/linux/ramips/patches-4.14/101-mt7621-timer.patch index c7c4a40f9..3653c0f23 100644 --- a/target/linux/ramips/patches-4.14/101-mt7621-timer.patch +++ b/target/linux/ramips/patches-4.14/101-mt7621-timer.patch @@ -8,7 +8,7 @@ #include #include -@@ -16,6 +16,7 @@ +@@ -16,6 +17,7 @@ #include #include #include @@ -16,7 +16,7 @@ #include -@@ -177,6 +178,58 @@ bool plat_cpu_core_present(int core) +@@ -177,6 +179,58 @@ bool plat_cpu_core_present(int core) return true; } diff --git a/target/linux/ramips/patches-4.14/102-mt7621-fix-cpu-clk-add-clkdev.patch b/target/linux/ramips/patches-4.14/102-mt7621-fix-cpu-clk-add-clkdev.patch index 67062d1cd..e647a2f4c 100644 --- a/target/linux/ramips/patches-4.14/102-mt7621-fix-cpu-clk-add-clkdev.patch +++ b/target/linux/ramips/patches-4.14/102-mt7621-fix-cpu-clk-add-clkdev.patch @@ -201,7 +201,7 @@ of_clk_init(NULL); timer_probe(); } ---- a/include/dt-bindings/clock/mt7621-clk.h +--- /dev/null +++ b/include/dt-bindings/clock/mt7621-clk.h @@ -0,0 +1,18 @@ +/* diff --git a/target/linux/rb532/Makefile b/target/linux/rb532/Makefile index 7979bb4b8..5aa8a6dc5 100644 --- a/target/linux/rb532/Makefile +++ b/target/linux/rb532/Makefile @@ -12,10 +12,10 @@ BOARDNAME:=Mikrotik RouterBoard 532 FEATURES:=pci targz squashfs minor nand MAINTAINER:=Roman Yeryomin -KERNEL_PATCHVER:=4.9 +KERNEL_PATCHVER:=4.14 include $(INCLUDE_DIR)/target.mk -DEFAULT_PACKAGES += wpad-mini kmod-ath5k kmod-input-rb532 e2fsprogs mkf2fs nand-utils +DEFAULT_PACKAGES += wpad-basic kmod-ath5k kmod-input-rb532 e2fsprogs mkf2fs nand-utils $(eval $(call BuildTarget)) diff --git a/target/linux/rb532/config-4.9 b/target/linux/rb532/config-4.14 similarity index 100% rename from target/linux/rb532/config-4.9 rename to target/linux/rb532/config-4.14 diff --git a/target/linux/rb532/patches-4.9/001-cmdline_hack.patch b/target/linux/rb532/patches-4.14/001-cmdline_hack.patch similarity index 100% rename from target/linux/rb532/patches-4.9/001-cmdline_hack.patch rename to target/linux/rb532/patches-4.14/001-cmdline_hack.patch diff --git a/target/linux/rb532/patches-4.9/004-rb532-fix-partition-info.patch b/target/linux/rb532/patches-4.14/004-rb532-fix-partition-info.patch similarity index 100% rename from target/linux/rb532/patches-4.9/004-rb532-fix-partition-info.patch rename to target/linux/rb532/patches-4.14/004-rb532-fix-partition-info.patch diff --git a/target/linux/rb532/patches-4.9/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch b/target/linux/rb532/patches-4.14/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch similarity index 89% rename from target/linux/rb532/patches-4.9/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch rename to target/linux/rb532/patches-4.14/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch index e75079b12..2bc2c1067 100644 --- a/target/linux/rb532/patches-4.9/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch +++ b/target/linux/rb532/patches-4.14/106-dont-use-rx-overflow-and-tx-underflow-interrupts.patch @@ -9,7 +9,7 @@ spinlock_t lock; /* NIC xmit lock */ -@@ -890,8 +888,6 @@ static void korina_restart_task(struct w +@@ -891,8 +889,6 @@ static void korina_restart_task(struct w */ disable_irq(lp->rx_irq); disable_irq(lp->tx_irq); @@ -18,7 +18,7 @@ writel(readl(&lp->tx_dma_regs->dmasm) | DMA_STAT_FINI | DMA_STAT_ERR, -@@ -910,40 +906,10 @@ static void korina_restart_task(struct w +@@ -911,40 +907,10 @@ static void korina_restart_task(struct w } korina_multicast_list(dev); @@ -59,7 +59,7 @@ static void korina_tx_timeout(struct net_device *dev) { struct korina_private *lp = netdev_priv(dev); -@@ -951,25 +917,6 @@ static void korina_tx_timeout(struct net +@@ -952,25 +918,6 @@ static void korina_tx_timeout(struct net schedule_work(&lp->restart_task); } @@ -85,7 +85,7 @@ #ifdef CONFIG_NET_POLL_CONTROLLER static void korina_poll_controller(struct net_device *dev) { -@@ -992,8 +939,7 @@ static int korina_open(struct net_device +@@ -993,8 +940,7 @@ static int korina_open(struct net_device } /* Install the interrupt handler @@ -95,7 +95,7 @@ ret = request_irq(lp->rx_irq, korina_rx_dma_interrupt, 0, "Korina ethernet Rx", dev); if (ret < 0) { -@@ -1009,31 +955,10 @@ static int korina_open(struct net_device +@@ -1010,31 +956,10 @@ static int korina_open(struct net_device goto err_free_rx_irq; } @@ -127,7 +127,7 @@ err_free_rx_irq: free_irq(lp->rx_irq, dev); err_release: -@@ -1051,8 +976,6 @@ static int korina_close(struct net_devic +@@ -1052,8 +977,6 @@ static int korina_close(struct net_devic /* Disable interrupts */ disable_irq(lp->rx_irq); disable_irq(lp->tx_irq); @@ -136,7 +136,7 @@ korina_abort_tx(dev); tmp = readl(&lp->tx_dma_regs->dmasm); -@@ -1072,8 +995,6 @@ static int korina_close(struct net_devic +@@ -1073,8 +996,6 @@ static int korina_close(struct net_devic free_irq(lp->rx_irq, dev); free_irq(lp->tx_irq, dev); diff --git a/target/linux/rb532/patches-4.9/107-korina-refactor-rx-descriptor-flags-processing.patch b/target/linux/rb532/patches-4.14/107-korina-refactor-rx-descriptor-flags-processing.patch similarity index 100% rename from target/linux/rb532/patches-4.9/107-korina-refactor-rx-descriptor-flags-processing.patch rename to target/linux/rb532/patches-4.14/107-korina-refactor-rx-descriptor-flags-processing.patch diff --git a/target/linux/rb532/patches-4.9/107-use-NAPI_POLL_WEIGHT.patch b/target/linux/rb532/patches-4.14/107-use-NAPI_POLL_WEIGHT.patch similarity index 100% rename from target/linux/rb532/patches-4.9/107-use-NAPI_POLL_WEIGHT.patch rename to target/linux/rb532/patches-4.14/107-use-NAPI_POLL_WEIGHT.patch diff --git a/target/linux/rb532/patches-4.9/108-korina-use-gro.patch b/target/linux/rb532/patches-4.14/108-korina-use-gro.patch similarity index 100% rename from target/linux/rb532/patches-4.9/108-korina-use-gro.patch rename to target/linux/rb532/patches-4.14/108-korina-use-gro.patch diff --git a/target/linux/rb532/patches-4.9/109-korina-whitespace-cleanup-2.patch b/target/linux/rb532/patches-4.14/109-korina-whitespace-cleanup-2.patch similarity index 90% rename from target/linux/rb532/patches-4.9/109-korina-whitespace-cleanup-2.patch rename to target/linux/rb532/patches-4.14/109-korina-whitespace-cleanup-2.patch index 026543395..ad24a9e84 100644 --- a/target/linux/rb532/patches-4.9/109-korina-whitespace-cleanup-2.patch +++ b/target/linux/rb532/patches-4.14/109-korina-whitespace-cleanup-2.patch @@ -92,22 +92,22 @@ { struct korina_private *lp = netdev_priv(dev); -@@ -727,10 +731,10 @@ static u32 netdev_get_link(struct net_de +@@ -728,10 +732,10 @@ static u32 netdev_get_link(struct net_de } static const struct ethtool_ops netdev_ethtool_ops = { - .get_drvinfo = netdev_get_drvinfo, -- .get_settings = netdev_get_settings, -- .set_settings = netdev_set_settings, - .get_link = netdev_get_link, +- .get_link_ksettings = netdev_get_link_ksettings, +- .set_link_ksettings = netdev_set_link_ksettings, + .get_drvinfo = netdev_get_drvinfo, -+ .get_settings = netdev_get_settings, -+ .set_settings = netdev_set_settings, + .get_link = netdev_get_link, ++ .get_link_ksettings = netdev_get_link_ksettings, ++ .set_link_ksettings = netdev_set_link_ksettings, }; static int korina_alloc_ring(struct net_device *dev) -@@ -862,7 +866,7 @@ static int korina_init(struct net_device +@@ -863,7 +867,7 @@ static int korina_init(struct net_device /* Management Clock Prescaler Divisor * Clock independent setting */ writel(((idt_cpu_freq) / MII_CLOCK + 1) & ~1, @@ -116,7 +116,7 @@ /* don't transmit until fifo contains 48b */ writel(48, &lp->eth_regs->ethfifott); -@@ -945,14 +949,14 @@ static int korina_open(struct net_device +@@ -946,14 +950,14 @@ static int korina_open(struct net_device 0, "Korina ethernet Rx", dev); if (ret < 0) { printk(KERN_ERR "%s: unable to get Rx DMA IRQ %d\n", diff --git a/target/linux/rb532/patches-4.9/110-korina-update-authors.patch b/target/linux/rb532/patches-4.14/110-korina-update-authors.patch similarity index 100% rename from target/linux/rb532/patches-4.9/110-korina-update-authors.patch rename to target/linux/rb532/patches-4.14/110-korina-update-authors.patch diff --git a/target/linux/rb532/patches-4.9/111-korina-version-bump.patch b/target/linux/rb532/patches-4.14/111-korina-version-bump.patch similarity index 100% rename from target/linux/rb532/patches-4.9/111-korina-version-bump.patch rename to target/linux/rb532/patches-4.14/111-korina-version-bump.patch