From: Álvaro Fernández Rojas Date: Fri, 30 Sep 2016 12:12:34 +0000 (+0200) Subject: kernel: update to v4.4.23 X-Git-Tag: v17.01.0-rc1~1316 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=7d559169c527424c4743d82cd6edc926ef2fcde9 kernel: update to v4.4.23 Refresh patches for all targets that support kernel 4.4. compile/run-tested on brcm2708/bcm2710 only. Signed-off-by: Álvaro Fernández Rojas --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 0db1b357cb..64b25e8b4e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -4,11 +4,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .29 LINUX_VERSION-4.1 = .20 -LINUX_VERSION-4.4 = .22 +LINUX_VERSION-4.4 = .23 LINUX_KERNEL_MD5SUM-3.18.29 = b25737a0bc98e80d12200de93f239c28 LINUX_KERNEL_MD5SUM-4.1.20 = 075c38a3a23ca5bc80437b13606df00a -LINUX_KERNEL_MD5SUM-4.4.22 = 404802389c7f0bbe94dda95f9d058d9e +LINUX_KERNEL_MD5SUM-4.4.23 = 39c3e2090931e83b7dd3438e7fb276d4 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/ar71xx/patches-4.4/500-MIPS-fw-myloader.patch b/target/linux/ar71xx/patches-4.4/500-MIPS-fw-myloader.patch index f823b59cb9..e877b0c947 100644 --- a/target/linux/ar71xx/patches-4.4/500-MIPS-fw-myloader.patch +++ b/target/linux/ar71xx/patches-4.4/500-MIPS-fw-myloader.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -222,6 +222,7 @@ cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_AL +@@ -218,6 +218,7 @@ endif # libs-$(CONFIG_FW_ARC) += arch/mips/fw/arc/ libs-$(CONFIG_FW_CFE) += arch/mips/fw/cfe/ diff --git a/target/linux/generic/patches-4.4/201-extra_optimization.patch b/target/linux/generic/patches-4.4/201-extra_optimization.patch index bcb6a007b9..508627a7e4 100644 --- a/target/linux/generic/patches-4.4/201-extra_optimization.patch +++ b/target/linux/generic/patches-4.4/201-extra_optimization.patch @@ -1,14 +1,18 @@ --- a/Makefile +++ b/Makefile -@@ -608,9 +608,9 @@ include arch/$(SRCARCH)/Makefile - KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) +@@ -619,12 +619,12 @@ KBUILD_CFLAGS += $(call cc-option,-fno-d + KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE --KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) -+KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION) $(call cc-disable-warning,maybe-uninitialized,) +-KBUILD_CFLAGS += -Os ++KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION) else + ifdef CONFIG_PROFILE_ALL_BRANCHES -KBUILD_CFLAGS += -O2 -+KBUILD_CFLAGS += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION) ++KBUILD_CFLAGS += -O2 $(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 diff --git a/target/linux/generic/patches-4.4/202-reduce_module_size.patch b/target/linux/generic/patches-4.4/202-reduce_module_size.patch index cef04d1a43..283d48d992 100644 --- a/target/linux/generic/patches-4.4/202-reduce_module_size.patch +++ b/target/linux/generic/patches-4.4/202-reduce_module_size.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -398,7 +398,7 @@ KBUILD_CFLAGS_KERNEL := +@@ -402,7 +402,7 @@ KBUILD_CFLAGS_KERNEL := KBUILD_AFLAGS := -D__ASSEMBLY__ KBUILD_AFLAGS_MODULE := -DMODULE KBUILD_CFLAGS_MODULE := -DMODULE diff --git a/target/linux/generic/patches-4.4/280-rfkill-stubs.patch b/target/linux/generic/patches-4.4/280-rfkill-stubs.patch index 88649023ea..96a98e219a 100644 --- a/target/linux/generic/patches-4.4/280-rfkill-stubs.patch +++ b/target/linux/generic/patches-4.4/280-rfkill-stubs.patch @@ -1,7 +1,5 @@ -Index: linux-4.4.21/net/rfkill/Kconfig -=================================================================== ---- linux-4.4.21.orig/net/rfkill/Kconfig 2016-09-15 08:29:29.000000000 +0200 -+++ linux-4.4.21/net/rfkill/Kconfig 2016-09-27 18:23:27.210404930 +0200 +--- a/net/rfkill/Kconfig ++++ b/net/rfkill/Kconfig @@ -1,7 +1,11 @@ # # RF switch subsystem configuration @@ -15,7 +13,7 @@ Index: linux-4.4.21/net/rfkill/Kconfig tristate "RF switch subsystem support" help Say Y here if you want to have control over RF switches -@@ -13,19 +17,19 @@ +@@ -13,19 +17,19 @@ menuconfig RFKILL # LED trigger support config RFKILL_LEDS bool @@ -38,7 +36,7 @@ Index: linux-4.4.21/net/rfkill/Kconfig depends on REGULATOR help This options enable controlling radio transmitters connected to -@@ -36,7 +40,7 @@ +@@ -36,7 +40,7 @@ config RFKILL_REGULATOR config RFKILL_GPIO tristate "GPIO RFKILL driver" @@ -47,10 +45,8 @@ Index: linux-4.4.21/net/rfkill/Kconfig depends on GPIOLIB || COMPILE_TEST default n help -Index: linux-4.4.21/net/rfkill/Makefile -=================================================================== ---- linux-4.4.21.orig/net/rfkill/Makefile 2016-09-15 08:29:29.000000000 +0200 -+++ linux-4.4.21/net/rfkill/Makefile 2016-09-27 18:22:12.373010155 +0200 +--- a/net/rfkill/Makefile ++++ b/net/rfkill/Makefile @@ -4,6 +4,6 @@ rfkill-y += core.o @@ -59,11 +55,9 @@ Index: linux-4.4.21/net/rfkill/Makefile +obj-$(CONFIG_RFKILL_FULL) += rfkill.o obj-$(CONFIG_RFKILL_REGULATOR) += rfkill-regulator.o obj-$(CONFIG_RFKILL_GPIO) += rfkill-gpio.o -Index: linux-4.4.21/net/Makefile -=================================================================== ---- linux-4.4.21.orig/net/Makefile 2016-09-15 08:29:29.000000000 +0200 -+++ linux-4.4.21/net/Makefile 2016-09-27 18:23:43.954773045 +0200 -@@ -49,7 +49,7 @@ +--- a/net/Makefile ++++ b/net/Makefile +@@ -49,7 +49,7 @@ obj-$(CONFIG_MAC80211) += mac80211/ obj-$(CONFIG_TIPC) += tipc/ obj-$(CONFIG_NETLABEL) += netlabel/ obj-$(CONFIG_IUCV) += iucv/ @@ -72,11 +66,9 @@ Index: linux-4.4.21/net/Makefile obj-$(CONFIG_NET_9P) += 9p/ obj-$(CONFIG_CAIF) += caif/ ifneq ($(CONFIG_DCB),) -Index: linux-4.4.21/include/linux/rfkill.h -=================================================================== ---- linux-4.4.21.orig/include/linux/rfkill.h 2016-09-15 08:29:29.000000000 +0200 -+++ linux-4.4.21/include/linux/rfkill.h 2016-09-27 18:47:20.426653801 +0200 -@@ -64,7 +64,7 @@ +--- a/include/linux/rfkill.h ++++ b/include/linux/rfkill.h +@@ -64,7 +64,7 @@ struct rfkill_ops { int (*set_block)(void *data, bool blocked); }; diff --git a/target/linux/generic/patches-4.4/304-mips_disable_fpu.patch b/target/linux/generic/patches-4.4/304-mips_disable_fpu.patch index 599e950ac8..aabb4f12b2 100644 --- a/target/linux/generic/patches-4.4/304-mips_disable_fpu.patch +++ b/target/linux/generic/patches-4.4/304-mips_disable_fpu.patch @@ -49,7 +49,7 @@ v2: incorporated changes suggested by Jonas Gorski select OF --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -289,7 +289,7 @@ OBJCOPYFLAGS += --remove-section=.regin +@@ -285,7 +285,7 @@ OBJCOPYFLAGS += --remove-section=.regin head-y := arch/mips/kernel/head.o libs-y += arch/mips/lib/ diff --git a/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch b/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch index 07fc097f1d..c8c2654697 100644 --- a/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch +++ b/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch @@ -169,7 +169,7 @@ Implement optinal multicast->unicast conversion for igmp snooping err = br_ip6_multicast_add_group(br, port, - &grec->grec_mca, vid); + &grec->grec_mca, vid, src); - if (!err) + if (err) break; } @@ -1427,7 +1453,8 @@ br_multicast_leave_group(struct net_brid diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index cbd1a08127..a18689c2e5 100644 --- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4205,6 +4205,9 @@ static enum gro_result dev_gro_receive(s +@@ -4221,6 +4221,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5357,6 +5360,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5373,6 +5376,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) -@@ -5428,6 +5473,7 @@ static int __netdev_upper_dev_link(struc +@@ -5444,6 +5489,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); return 0; -@@ -5554,6 +5600,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5570,6 +5616,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); @@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6094,6 +6141,7 @@ int dev_set_mac_address(struct net_devic +@@ -6110,6 +6157,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.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch index 04a7b638c1..45dc20bcd2 100644 --- a/target/linux/generic/patches-4.4/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch @@ -184,7 +184,7 @@ --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -2646,10 +2646,12 @@ static const struct file_operations fib_ +@@ -2642,10 +2642,12 @@ static const struct file_operations fib_ int __net_init fib_proc_init(struct net *net) { @@ -199,7 +199,7 @@ &fib_triestat_fops)) goto out2; -@@ -2659,17 +2661,21 @@ int __net_init fib_proc_init(struct net +@@ -2655,17 +2657,21 @@ int __net_init fib_proc_init(struct net return 0; out3: diff --git a/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch b/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch index c19ddd3c5f..381170a396 100644 --- a/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch +++ b/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -888,7 +888,8 @@ void phy_state_machine(struct work_struc +@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -21,7 +21,7 @@ Signed-off-by: John Crispin phydev->adjust_link(phydev->attached_dev); break; } -@@ -971,7 +972,8 @@ void phy_state_machine(struct work_struc +@@ -973,7 +974,8 @@ void phy_state_machine(struct work_struc netif_carrier_on(phydev->attached_dev); } else { phydev->state = PHY_NOLINK; @@ -31,7 +31,7 @@ Signed-off-by: John Crispin } phydev->adjust_link(phydev->attached_dev); -@@ -983,7 +985,8 @@ void phy_state_machine(struct work_struc +@@ -985,7 +987,8 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; diff --git a/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch b/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch index 4b75613979..b60eac0efc 100644 --- a/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch +++ b/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -888,7 +888,8 @@ void phy_state_machine(struct work_struc +@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -21,7 +21,7 @@ Signed-off-by: John Crispin phydev->adjust_link(phydev->attached_dev); break; } -@@ -971,7 +972,8 @@ void phy_state_machine(struct work_struc +@@ -973,7 +974,8 @@ void phy_state_machine(struct work_struc netif_carrier_on(phydev->attached_dev); } else { phydev->state = PHY_NOLINK; @@ -31,7 +31,7 @@ Signed-off-by: John Crispin } phydev->adjust_link(phydev->attached_dev); -@@ -983,7 +985,8 @@ void phy_state_machine(struct work_struc +@@ -985,7 +987,8 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; diff --git a/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch b/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch index 17c1eadc16..b00968961f 100644 --- a/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch +++ b/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch @@ -22,7 +22,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -847,6 +847,16 @@ void phy_start(struct phy_device *phydev +@@ -849,6 +849,16 @@ void phy_start(struct phy_device *phydev } EXPORT_SYMBOL(phy_start); @@ -39,7 +39,7 @@ Signed-off-by: Russell King /** * phy_state_machine - Handle the state machine * @work: work_struct that describes the work to be done -@@ -888,8 +898,7 @@ void phy_state_machine(struct work_struc +@@ -890,8 +900,7 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -49,7 +49,7 @@ Signed-off-by: Russell King break; } -@@ -901,9 +910,7 @@ void phy_state_machine(struct work_struc +@@ -903,9 +912,7 @@ void phy_state_machine(struct work_struc /* If AN is done, we're running */ if (err > 0) { phydev->state = PHY_RUNNING; @@ -60,7 +60,7 @@ Signed-off-by: Russell King } else if (0 == phydev->link_timeout--) needs_aneg = true; break; -@@ -928,8 +935,7 @@ void phy_state_machine(struct work_struc +@@ -930,8 +937,7 @@ void phy_state_machine(struct work_struc } } phydev->state = PHY_RUNNING; @@ -70,7 +70,7 @@ Signed-off-by: Russell King } break; case PHY_FORCING: -@@ -939,13 +945,12 @@ void phy_state_machine(struct work_struc +@@ -941,13 +947,12 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; @@ -86,7 +86,7 @@ Signed-off-by: Russell King break; case PHY_RUNNING: /* Only register a CHANGE if we are polling or ignoring -@@ -968,14 +973,12 @@ void phy_state_machine(struct work_struc +@@ -970,14 +975,12 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; @@ -103,7 +103,7 @@ Signed-off-by: Russell King if (phy_interrupt_is_valid(phydev)) err = phy_config_interrupt(phydev, PHY_INTERRUPT_ENABLED); -@@ -983,8 +986,7 @@ void phy_state_machine(struct work_struc +@@ -985,8 +988,7 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; @@ -113,7 +113,7 @@ Signed-off-by: Russell King do_suspend = true; } break; -@@ -1004,11 +1006,11 @@ void phy_state_machine(struct work_struc +@@ -1006,11 +1008,11 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; @@ -127,7 +127,7 @@ Signed-off-by: Russell King } else { phydev->state = PHY_AN; phydev->link_timeout = PHY_AN_TIMEOUT; -@@ -1020,11 +1022,11 @@ void phy_state_machine(struct work_struc +@@ -1022,11 +1024,11 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; diff --git a/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch b/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch index 2c3807d344..f49660a56e 100644 --- a/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch +++ b/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -888,7 +888,8 @@ void phy_state_machine(struct work_struc +@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -21,7 +21,7 @@ Signed-off-by: John Crispin phydev->adjust_link(phydev->attached_dev); break; } -@@ -971,7 +972,8 @@ void phy_state_machine(struct work_struc +@@ -973,7 +974,8 @@ void phy_state_machine(struct work_struc netif_carrier_on(phydev->attached_dev); } else { phydev->state = PHY_NOLINK; @@ -31,7 +31,7 @@ Signed-off-by: John Crispin } phydev->adjust_link(phydev->attached_dev); -@@ -983,7 +985,8 @@ void phy_state_machine(struct work_struc +@@ -985,7 +987,8 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0;