From eca8a2ee0d4404d9454cac473ee8d4d1ce7152e4 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Tue, 4 Feb 2020 12:05:46 +0100 Subject: [PATCH] kernel: bump 4.14 to 4.14.169 Refreshed all patches. Fixes: - CVE-2019-14896 - CVE-2019-14897 Remove upstreamed: - 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch - 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- ...-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch | 39 ---- ...an78xx-Avoid-spurious-kevent-4-error.patch | 2 +- ...78xx-Read-initial-EEE-status-from-DT.patch | 2 +- ...Change-LEDs-to-include-10Mb-activity.patch | 4 +- ...8xx-Read-LED-states-from-Device-Tree.patch | 4 +- ...xx-Allow-for-VLAN-headers-in-timeout.patch | 4 +- ...e-enabling-of-EEE-into-PHY-init-code.patch | 4 +- ...est-s-w-csum-check-on-VLAN-tagged-pa.patch | 2 +- ...n78xx-Add-support-for-VLAN-filtering.patch | 4 +- ...x-Add-support-for-VLAN-tag-stripping.patch | 12 +- ...n78xx-Reduce-s-w-csum-check-on-VLANs.patch | 2 +- ...Disable-TCP-Segmentation-Offload-TSO.patch | 4 +- ...rx-handling-before-first-packet-is-s.patch | 2 +- ...an78xx-Fix-link-status-notifications.patch | 2 +- ...xx-Support-auto-downshift-to-100Mb-s.patch | 6 +- ...e-link-events-to-minimize-poll-storm.patch | 4 +- .../patches-4.14/961-lan78xx-enable-LED.patch | 2 +- ...p-unused-and-broken-DSP-platform-dev.patch | 203 ------------------ .../702-phy_add_aneg_done_function.patch | 2 +- .../pending-4.14/630-packet_socket_type.patch | 16 +- ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 14 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 2 +- ...detach-callback-to-struct-phy_driver.patch | 2 +- .../202-core-linux-support-layerscape.patch | 40 ++-- .../302-dts-support-layerscape.patch | 16 +- .../811-clock-support-layerscape.patch | 2 +- .../820-sec-support-layerscape.patch | 2 +- .../patches-4.14/0052-net-phy-add-FC.patch | 2 +- ...9-thermal-mtk-Cleanup-unused-defines.patch | 2 +- ...-mediatek-add-support-for-MT7622-SoC.patch | 2 +- ...s-allwinner-A64-Restore-EMAC-changes.patch | 2 +- ...ner-add-snps-dwmac-mdio-compatible-t.patch | 2 +- ...arm64-dts-allwinner-a64-Add-watchdog.patch | 2 +- ...80-arm64-allwinner-a64-add-SPI-nodes.patch | 4 +- 35 files changed, 88 insertions(+), 330 deletions(-) delete mode 100644 target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch delete mode 100644 target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 0992f82c1f..aaea72de96 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.14 = .167 +LINUX_VERSION-4.14 = .169 -LINUX_KERNEL_HASH-4.14.167 = 2bb78fc7a902faf4f5dad47fdbc2f4bf3df3cf9b41f408e7260f36656659fe43 +LINUX_KERNEL_HASH-4.14.169 = d88ea97993c56b1fa0b0a05061bcde476c6be4fc3bb2de8bd97a8f8ff7278249 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/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch b/target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch deleted file mode 100644 index d2c3848820..0000000000 --- a/target/linux/apm821xx/patches-4.14/023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6e88098ca43a3d80ae86908f7badba683c8a0d84 Mon Sep 17 00:00:00 2001 -From: Corentin Labbe -Date: Wed, 23 Jan 2019 11:24:18 +0000 -Subject: [PATCH 07/15] crypto: crypto4xx - Fix wrong - ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments - -When building without CONFIG_HW_RANDOM_PPC4XX, I hit the following build failure: -drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_probe': -drivers/crypto/amcc/crypto4xx_core.c:1407:20: error: passing argument 1 of 'ppc4xx_trng_probe' from incompatible pointer type [-Werror=incompatible-pointer-types] -In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0: -drivers/crypto/amcc/crypto4xx_trng.h:28:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *' -drivers/crypto/amcc/crypto4xx_core.c: In function 'crypto4xx_remove': -drivers/crypto/amcc/crypto4xx_core.c:1434:21: error: passing argument 1 of 'ppc4xx_trng_remove' from incompatible pointer type [-Werror=incompatible-pointer-types] -In file included from drivers/crypto/amcc/crypto4xx_core.c:50:0: -drivers/crypto/amcc/crypto4xx_trng.h:30:20: note: expected 'struct crypto4xx_device *' but argument is of type 'struct crypto4xx_core_device *' - -This patch fix the needed argument of ppc4xx_trng_probe()/ppc4xx_trng_remove() in that case. - -Fixes: 5343e674f32f ("crypto4xx: integrate ppc4xx-rng into crypto4xx") -Signed-off-by: Corentin Labbe -Signed-off-by: Herbert Xu ---- - drivers/crypto/amcc/crypto4xx_trng.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/crypto/amcc/crypto4xx_trng.h -+++ b/drivers/crypto/amcc/crypto4xx_trng.h -@@ -26,9 +26,9 @@ void ppc4xx_trng_probe(struct crypto4xx_ - void ppc4xx_trng_remove(struct crypto4xx_core_device *core_dev); - #else - static inline void ppc4xx_trng_probe( -- struct crypto4xx_device *dev __maybe_unused) { } -+ struct crypto4xx_core_device *dev __maybe_unused) { } - static inline void ppc4xx_trng_remove( -- struct crypto4xx_device *dev __maybe_unused) { } -+ struct crypto4xx_core_device *dev __maybe_unused) { } - #endif - - #endif diff --git a/target/linux/brcm2708/patches-4.14/950-0170-lan78xx-Avoid-spurious-kevent-4-error.patch b/target/linux/brcm2708/patches-4.14/950-0170-lan78xx-Avoid-spurious-kevent-4-error.patch index a8d823e347..fe8f40114f 100644 --- a/target/linux/brcm2708/patches-4.14/950-0170-lan78xx-Avoid-spurious-kevent-4-error.patch +++ b/target/linux/brcm2708/patches-4.14/950-0170-lan78xx-Avoid-spurious-kevent-4-error.patch @@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2499,7 +2499,7 @@ static void lan78xx_init_stats(struct la +@@ -2500,7 +2500,7 @@ static void lan78xx_init_stats(struct la dev->stats.rollover_max.eee_tx_lpi_transitions = 0xFFFFFFFF; dev->stats.rollover_max.eee_tx_lpi_time = 0xFFFFFFFF; diff --git a/target/linux/brcm2708/patches-4.14/950-0251-lan78xx-Read-initial-EEE-status-from-DT.patch b/target/linux/brcm2708/patches-4.14/950-0251-lan78xx-Read-initial-EEE-status-from-DT.patch index b71ceb24fd..7ac054ac6a 100644 --- a/target/linux/brcm2708/patches-4.14/950-0251-lan78xx-Read-initial-EEE-status-from-DT.patch +++ b/target/linux/brcm2708/patches-4.14/950-0251-lan78xx-Read-initial-EEE-status-from-DT.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2515,6 +2515,22 @@ static int lan78xx_open(struct net_devic +@@ -2516,6 +2516,22 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.14/950-0252-lan78xx-Change-LEDs-to-include-10Mb-activity.patch b/target/linux/brcm2708/patches-4.14/950-0252-lan78xx-Change-LEDs-to-include-10Mb-activity.patch index 4c62dfb88b..163297a985 100644 --- a/target/linux/brcm2708/patches-4.14/950-0252-lan78xx-Change-LEDs-to-include-10Mb-activity.patch +++ b/target/linux/brcm2708/patches-4.14/950-0252-lan78xx-Change-LEDs-to-include-10Mb-activity.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -1999,6 +1999,7 @@ static int lan78xx_phy_init(struct lan78 +@@ -2000,6 +2000,7 @@ static int lan78xx_phy_init(struct lan78 { int ret; u32 mii_adv; @@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell struct phy_device *phydev = dev->net->phydev; phydev = phy_find_first(dev->mdiobus); -@@ -2071,6 +2072,19 @@ static int lan78xx_phy_init(struct lan78 +@@ -2072,6 +2073,19 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); diff --git a/target/linux/brcm2708/patches-4.14/950-0257-lan78xx-Read-LED-states-from-Device-Tree.patch b/target/linux/brcm2708/patches-4.14/950-0257-lan78xx-Read-LED-states-from-Device-Tree.patch index 9f505d6536..58669c93d8 100644 --- a/target/linux/brcm2708/patches-4.14/950-0257-lan78xx-Read-LED-states-from-Device-Tree.patch +++ b/target/linux/brcm2708/patches-4.14/950-0257-lan78xx-Read-LED-states-from-Device-Tree.patch @@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -1999,7 +1999,9 @@ static int lan78xx_phy_init(struct lan78 +@@ -2000,7 +2000,9 @@ static int lan78xx_phy_init(struct lan78 { int ret; u32 mii_adv; @@ -30,7 +30,7 @@ Signed-off-by: Phil Elwell struct phy_device *phydev = dev->net->phydev; phydev = phy_find_first(dev->mdiobus); -@@ -2072,18 +2074,27 @@ static int lan78xx_phy_init(struct lan78 +@@ -2073,18 +2075,27 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); diff --git a/target/linux/brcm2708/patches-4.14/950-0265-net-lan78xx-Allow-for-VLAN-headers-in-timeout.patch b/target/linux/brcm2708/patches-4.14/950-0265-net-lan78xx-Allow-for-VLAN-headers-in-timeout.patch index 502feae50a..8b7f7715ea 100644 --- a/target/linux/brcm2708/patches-4.14/950-0265-net-lan78xx-Allow-for-VLAN-headers-in-timeout.patch +++ b/target/linux/brcm2708/patches-4.14/950-0265-net-lan78xx-Allow-for-VLAN-headers-in-timeout.patch @@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2195,7 +2195,7 @@ static int lan78xx_change_mtu(struct net +@@ -2196,7 +2196,7 @@ static int lan78xx_change_mtu(struct net if ((ll_mtu % dev->maxpacket) == 0) return -EDOM; @@ -26,7 +26,7 @@ Signed-off-by: Dave Stevenson netdev->mtu = new_mtu; -@@ -2488,7 +2488,8 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2489,7 +2489,8 @@ static int lan78xx_reset(struct lan78xx_ buf |= FCT_TX_CTL_EN_; ret = lan78xx_write_reg(dev, FCT_TX_CTL, buf); diff --git a/target/linux/brcm2708/patches-4.14/950-0268-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/target/linux/brcm2708/patches-4.14/950-0268-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch index f5424ae0a6..330c1e8c03 100644 --- a/target/linux/brcm2708/patches-4.14/950-0268-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch +++ b/target/linux/brcm2708/patches-4.14/950-0268-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2074,6 +2074,22 @@ static int lan78xx_phy_init(struct lan78 +@@ -2075,6 +2075,22 @@ static int lan78xx_phy_init(struct lan78 mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell /* Set LED modes: * led: 0=link/activity 1=link1000/activity * 2=link100/activity 3=link10/activity -@@ -2541,22 +2557,6 @@ static int lan78xx_open(struct net_devic +@@ -2542,22 +2558,6 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); diff --git a/target/linux/brcm2708/patches-4.14/950-0269-net-lan78xx-Request-s-w-csum-check-on-VLAN-tagged-pa.patch b/target/linux/brcm2708/patches-4.14/950-0269-net-lan78xx-Request-s-w-csum-check-on-VLAN-tagged-pa.patch index e7bdaf1610..6dfa98e9a8 100644 --- a/target/linux/brcm2708/patches-4.14/950-0269-net-lan78xx-Request-s-w-csum-check-on-VLAN-tagged-pa.patch +++ b/target/linux/brcm2708/patches-4.14/950-0269-net-lan78xx-Request-s-w-csum-check-on-VLAN-tagged-pa.patch @@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2959,8 +2959,12 @@ static void lan78xx_rx_csum_offload(stru +@@ -2960,8 +2960,12 @@ static void lan78xx_rx_csum_offload(stru struct sk_buff *skb, u32 rx_cmd_a, u32 rx_cmd_b) { diff --git a/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch b/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch index 3330150974..4c9716378a 100644 --- a/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch +++ b/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch @@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2280,7 +2280,7 @@ static int lan78xx_set_features(struct n +@@ -2281,7 +2281,7 @@ static int lan78xx_set_features(struct n pdata->rfe_ctl &= ~(RFE_CTL_ICMP_COE_ | RFE_CTL_IGMP_COE_); } @@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson pdata->rfe_ctl |= RFE_CTL_VLAN_FILTER_; else pdata->rfe_ctl &= ~RFE_CTL_VLAN_FILTER_; -@@ -2895,6 +2895,9 @@ static int lan78xx_bind(struct lan78xx_n +@@ -2896,6 +2896,9 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_TSO_CSUM_ENABLE) dev->net->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG; diff --git a/target/linux/brcm2708/patches-4.14/950-0271-net-lan78xx-Add-support-for-VLAN-tag-stripping.patch b/target/linux/brcm2708/patches-4.14/950-0271-net-lan78xx-Add-support-for-VLAN-tag-stripping.patch index b715d70b8b..c0fd1d6e24 100644 --- a/target/linux/brcm2708/patches-4.14/950-0271-net-lan78xx-Add-support-for-VLAN-tag-stripping.patch +++ b/target/linux/brcm2708/patches-4.14/950-0271-net-lan78xx-Add-support-for-VLAN-tag-stripping.patch @@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -64,6 +64,7 @@ +@@ -65,6 +65,7 @@ #define DEFAULT_RX_CSUM_ENABLE (true) #define DEFAULT_TSO_CSUM_ENABLE (true) #define DEFAULT_VLAN_FILTER_ENABLE (true) @@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson #define TX_OVERHEAD (8) #define RXW_PADDING 2 -@@ -2280,6 +2281,11 @@ static int lan78xx_set_features(struct n +@@ -2281,6 +2282,11 @@ static int lan78xx_set_features(struct n pdata->rfe_ctl &= ~(RFE_CTL_ICMP_COE_ | RFE_CTL_IGMP_COE_); } @@ -36,7 +36,7 @@ Signed-off-by: Dave Stevenson if (features & NETIF_F_HW_VLAN_CTAG_FILTER) pdata->rfe_ctl |= RFE_CTL_VLAN_FILTER_; else -@@ -2895,6 +2901,9 @@ static int lan78xx_bind(struct lan78xx_n +@@ -2896,6 +2902,9 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_TSO_CSUM_ENABLE) dev->net->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG; @@ -46,7 +46,7 @@ Signed-off-by: Dave Stevenson if (DEFAULT_VLAN_FILTER_ENABLE) dev->net->features |= NETIF_F_HW_VLAN_CTAG_FILTER; -@@ -2975,6 +2984,16 @@ static void lan78xx_rx_csum_offload(stru +@@ -2976,6 +2985,16 @@ static void lan78xx_rx_csum_offload(stru } } @@ -63,7 +63,7 @@ Signed-off-by: Dave Stevenson static void lan78xx_skb_return(struct lan78xx_net *dev, struct sk_buff *skb) { int status; -@@ -3039,6 +3058,8 @@ static int lan78xx_rx(struct lan78xx_net +@@ -3040,6 +3059,8 @@ static int lan78xx_rx(struct lan78xx_net if (skb->len == size) { lan78xx_rx_csum_offload(dev, skb, rx_cmd_a, rx_cmd_b); @@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson skb_trim(skb, skb->len - 4); /* remove fcs */ skb->truesize = size + sizeof(struct sk_buff); -@@ -3057,6 +3078,7 @@ static int lan78xx_rx(struct lan78xx_net +@@ -3058,6 +3079,7 @@ static int lan78xx_rx(struct lan78xx_net skb_set_tail_pointer(skb2, size); lan78xx_rx_csum_offload(dev, skb2, rx_cmd_a, rx_cmd_b); diff --git a/target/linux/brcm2708/patches-4.14/950-0272-net-lan78xx-Reduce-s-w-csum-check-on-VLANs.patch b/target/linux/brcm2708/patches-4.14/950-0272-net-lan78xx-Reduce-s-w-csum-check-on-VLANs.patch index c5fb1d7ebc..859cca2136 100644 --- a/target/linux/brcm2708/patches-4.14/950-0272-net-lan78xx-Reduce-s-w-csum-check-on-VLANs.patch +++ b/target/linux/brcm2708/patches-4.14/950-0272-net-lan78xx-Reduce-s-w-csum-check-on-VLANs.patch @@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2971,12 +2971,13 @@ static void lan78xx_rx_csum_offload(stru +@@ -2972,12 +2972,13 @@ static void lan78xx_rx_csum_offload(stru struct sk_buff *skb, u32 rx_cmd_a, u32 rx_cmd_b) { diff --git a/target/linux/brcm2708/patches-4.14/950-0314-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/target/linux/brcm2708/patches-4.14/950-0314-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch index 25379a33fc..27adcd86a8 100644 --- a/target/linux/brcm2708/patches-4.14/950-0314-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch +++ b/target/linux/brcm2708/patches-4.14/950-0314-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -415,6 +415,15 @@ static int msg_level = -1; +@@ -416,6 +416,15 @@ static int msg_level = -1; module_param(msg_level, int, 0); MODULE_PARM_DESC(msg_level, "Override default message level"); @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -2898,8 +2907,14 @@ static int lan78xx_bind(struct lan78xx_n +@@ -2899,8 +2908,14 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; diff --git a/target/linux/brcm2708/patches-4.14/950-0359-net-lan78xx-fix-rx-handling-before-first-packet-is-s.patch b/target/linux/brcm2708/patches-4.14/950-0359-net-lan78xx-fix-rx-handling-before-first-packet-is-s.patch index 38bfc6fb6b..39821a370d 100644 --- a/target/linux/brcm2708/patches-4.14/950-0359-net-lan78xx-fix-rx-handling-before-first-packet-is-s.patch +++ b/target/linux/brcm2708/patches-4.14/950-0359-net-lan78xx-fix-rx-handling-before-first-packet-is-s.patch @@ -19,7 +19,7 @@ Signed-off-by: Stefan Wahren --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2590,6 +2590,8 @@ static int lan78xx_open(struct net_devic +@@ -2591,6 +2591,8 @@ static int lan78xx_open(struct net_devic dev->link_on = false; diff --git a/target/linux/brcm2708/patches-4.14/950-0360-lan78xx-Fix-link-status-notifications.patch b/target/linux/brcm2708/patches-4.14/950-0360-lan78xx-Fix-link-status-notifications.patch index 67fb860fe4..50099bda5a 100644 --- a/target/linux/brcm2708/patches-4.14/950-0360-lan78xx-Fix-link-status-notifications.patch +++ b/target/linux/brcm2708/patches-4.14/950-0360-lan78xx-Fix-link-status-notifications.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2590,8 +2590,6 @@ static int lan78xx_open(struct net_devic +@@ -2591,8 +2591,6 @@ static int lan78xx_open(struct net_devic dev->link_on = false; diff --git a/target/linux/brcm2708/patches-4.14/950-0443-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch b/target/linux/brcm2708/patches-4.14/950-0443-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch index 203a6e6eaa..f7dc3c9209 100644 --- a/target/linux/brcm2708/patches-4.14/950-0443-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch +++ b/target/linux/brcm2708/patches-4.14/950-0443-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch @@ -75,7 +75,7 @@ Signed-off-by: Phil Elwell priv->chip_rev = phy_read_mmd(phydev, 3, LAN88XX_MMD3_CHIP_REV); --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -36,7 +36,8 @@ +@@ -37,7 +37,8 @@ #include #include #include @@ -85,7 +85,7 @@ Signed-off-by: Phil Elwell #include #include "lan78xx.h" -@@ -1763,6 +1764,7 @@ done: +@@ -1764,6 +1765,7 @@ done: static int lan78xx_mdio_init(struct lan78xx_net *dev) { @@ -93,7 +93,7 @@ Signed-off-by: Phil Elwell int ret; dev->mdiobus = mdiobus_alloc(); -@@ -1792,7 +1794,9 @@ static int lan78xx_mdio_init(struct lan7 +@@ -1793,7 +1795,9 @@ static int lan78xx_mdio_init(struct lan7 break; } diff --git a/target/linux/brcm2708/patches-4.14/950-0454-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/brcm2708/patches-4.14/950-0454-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch index cacf93868a..008043d8bf 100644 --- a/target/linux/brcm2708/patches-4.14/950-0454-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch +++ b/target/linux/brcm2708/patches-4.14/950-0454-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch @@ -16,7 +16,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -425,6 +425,11 @@ static bool enable_tso; +@@ -426,6 +426,11 @@ static bool enable_tso; module_param(enable_tso, bool, 0644); MODULE_PARM_DESC(enable_tso, "Enables TCP segmentation offload"); @@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); -@@ -3715,7 +3720,12 @@ static int lan78xx_probe(struct usb_inte +@@ -3730,7 +3735,12 @@ static int lan78xx_probe(struct usb_inte dev->pipe_intr = usb_rcvintpipe(dev->udev, dev->ep_intr->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK); diff --git a/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch b/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch index cf8fb8ce70..dd3404688a 100644 --- a/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch +++ b/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch @@ -1,6 +1,6 @@ --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2463,6 +2463,15 @@ static int lan78xx_reset(struct lan78xx_ +@@ -2464,6 +2464,15 @@ static int lan78xx_reset(struct lan78xx_ ret = lan78xx_read_reg(dev, HW_CFG, &buf); buf |= HW_CFG_MEF_; diff --git a/target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch b/target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch deleted file mode 100644 index ac03e643b3..0000000000 --- a/target/linux/brcm63xx/patches-4.14/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 51559154375fff4a94bbbc249fdd9248a80827b3 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Tue, 18 Dec 2018 10:19:02 +0100 -Subject: [PATCH] MIPS: BCM63XX: drop unused and broken DSP platform device - -Trying to register the DSP platform device results in a null pointer -access: - -[ 0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20 -[ 0.135208] Oops[#1]: -[ 0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87 -... -[ 0.197117] epc : 804e305c bcm63xx_dsp_register+0x80/0xa4 -[ 0.202838] ra : 804e6f20 board_register_devices+0x258/0x390 -... - -This happens because it tries to copy the passed platform data over the -platform_device's unpopulated platform_data. - -Since this code has been broken since its submission, no driver was ever -submitted for it, and apparently nobody was using it, just remove it -instead of trying to fix it. - -Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.") -Signed-off-by: Jonas Gorski ---- - arch/mips/bcm63xx/Makefile | 6 +-- - arch/mips/bcm63xx/boards/board_bcm963xx.c | 20 -------- - arch/mips/bcm63xx/dev-dsp.c | 56 ---------------------- - .../include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h | 14 ------ - .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 5 -- - 5 files changed, 3 insertions(+), 98 deletions(-) - delete mode 100644 arch/mips/bcm63xx/dev-dsp.c - delete mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h - ---- a/arch/mips/bcm63xx/Makefile -+++ b/arch/mips/bcm63xx/Makefile -@@ -1,8 +1,8 @@ - # SPDX-License-Identifier: GPL-2.0 - obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \ -- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \ -- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \ -- dev-wdt.o dev-usb-usbd.o -+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \ -+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \ -+ dev-usb-usbd.o - obj-$(CONFIG_EARLY_PRINTK) += early_printk.o - - obj-y += boards/ ---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c -+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -23,7 +23,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -289,14 +288,6 @@ static struct board_info __initdata boar - .has_pccard = 1, - .has_ehci0 = 1, - -- .has_dsp = 1, -- .dsp = { -- .gpio_rst = 6, -- .gpio_int = 34, -- .cs = 2, -- .ext_irq = 2, -- }, -- - .leds = { - { - .name = "adsl-fail", -@@ -401,14 +392,6 @@ static struct board_info __initdata boar - - .has_ohci0 = 1, - -- .has_dsp = 1, -- .dsp = { -- .gpio_rst = 6, -- .gpio_int = 34, -- .ext_irq = 2, -- .cs = 2, -- }, -- - .leds = { - { - .name = "adsl-fail", -@@ -898,9 +881,6 @@ int __init board_register_devices(void) - if (board.has_usbd) - bcm63xx_usbd_register(&board.usbd); - -- if (board.has_dsp) -- bcm63xx_dsp_register(&board.dsp); -- - /* Generate MAC address for WLAN and register our SPROM, - * do this after registering enet devices - */ ---- a/arch/mips/bcm63xx/dev-dsp.c -+++ /dev/null -@@ -1,56 +0,0 @@ --/* -- * Broadcom BCM63xx VoIP DSP registration -- * -- * This file is subject to the terms and conditions of the GNU General Public -- * License. See the file "COPYING" in the main directory of this archive -- * for more details. -- * -- * Copyright (C) 2009 Florian Fainelli -- */ -- --#include --#include --#include -- --#include --#include --#include --#include -- --static struct resource voip_dsp_resources[] = { -- { -- .start = -1, /* filled at runtime */ -- .end = -1, /* filled at runtime */ -- .flags = IORESOURCE_MEM, -- }, -- { -- .start = -1, /* filled at runtime */ -- .flags = IORESOURCE_IRQ, -- }, --}; -- --static struct platform_device bcm63xx_voip_dsp_device = { -- .name = "bcm63xx-voip-dsp", -- .id = -1, -- .num_resources = ARRAY_SIZE(voip_dsp_resources), -- .resource = voip_dsp_resources, --}; -- --int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd) --{ -- struct bcm63xx_dsp_platform_data *dpd; -- u32 val; -- -- /* Get the memory window */ -- val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1)); -- val &= MPI_CSBASE_BASE_MASK; -- voip_dsp_resources[0].start = val; -- voip_dsp_resources[0].end = val + 0xFFFFFFF; -- voip_dsp_resources[1].start = pd->ext_irq; -- -- /* copy given platform data */ -- dpd = bcm63xx_voip_dsp_device.dev.platform_data; -- memcpy(dpd, pd, sizeof (*pd)); -- -- return platform_device_register(&bcm63xx_voip_dsp_device); --} ---- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h -+++ /dev/null -@@ -1,14 +0,0 @@ --/* SPDX-License-Identifier: GPL-2.0 */ --#ifndef __BCM63XX_DSP_H --#define __BCM63XX_DSP_H -- --struct bcm63xx_dsp_platform_data { -- unsigned gpio_rst; -- unsigned gpio_int; -- unsigned cs; -- unsigned ext_irq; --}; -- --int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd); -- --#endif /* __BCM63XX_DSP_H */ ---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -7,7 +7,6 @@ - #include - #include - #include --#include - - /* - * flash mapping -@@ -31,7 +30,6 @@ struct board_info { - unsigned int has_ohci0:1; - unsigned int has_ehci0:1; - unsigned int has_usbd:1; -- unsigned int has_dsp:1; - unsigned int has_uart0:1; - unsigned int has_uart1:1; - -@@ -43,9 +41,6 @@ struct board_info { - /* USB config */ - struct bcm63xx_usbd_platform_data usbd; - -- /* DSP config */ -- struct bcm63xx_dsp_platform_data dsp; -- - /* GPIO LEDs */ - struct gpio_led leds[5]; - diff --git a/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch index 97bbee96a9..cc84311ef9 100644 --- a/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-4.14/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1461,6 +1461,9 @@ int genphy_update_link(struct phy_device +@@ -1462,6 +1462,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/pending-4.14/630-packet_socket_type.patch b/target/linux/generic/pending-4.14/630-packet_socket_type.patch index 1c9af3f2b2..a4737b23ef 100644 --- a/target/linux/generic/pending-4.14/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.14/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1830,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1836,6 +1836,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1837,6 +1838,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1843,6 +1844,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1849,7 +1851,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1855,7 +1857,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2076,12 +2078,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2082,12 +2084,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2207,12 +2209,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2213,12 +2215,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3295,6 +3297,7 @@ static int packet_create(struct net *net +@@ -3301,6 +3303,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3908,6 +3911,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3923,6 +3926,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3960,6 +3973,13 @@ static int packet_getsockopt(struct sock +@@ -3975,6 +3988,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index 6e2eca6daf..96c8ae9c12 100644 --- a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -350,7 +350,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1922,6 +2084,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1920,6 +2082,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -366,7 +366,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1959,6 +2130,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1957,6 +2128,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_FWMARK]) parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); @@ -413,7 +413,7 @@ Signed-off-by: Steven Barth } static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], -@@ -2074,6 +2285,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2072,6 +2283,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -426,7 +426,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2103,6 +2320,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2101,6 +2318,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + @@ -451,7 +451,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2110,6 +2345,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2108,6 +2343,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -461,7 +461,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2119,9 +2357,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2117,9 +2355,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || @@ -490,7 +490,7 @@ Signed-off-by: Steven Barth if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2161,6 +2417,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2159,6 +2415,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, 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 8919ea34ec..067de75f3c 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 @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6970,6 +7017,7 @@ int dev_set_mac_address(struct net_devic +@@ -6961,6 +7008,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/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch index 4ba722183c..d49fdc77ab 100644 --- a/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-4.14/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1105,6 +1105,9 @@ void phy_detach(struct phy_device *phyde +@@ -1106,6 +1106,9 @@ void phy_detach(struct phy_device *phyde struct module *ndev_owner = dev->dev.parent->driver->owner; struct mii_bus *bus; diff --git a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch index f0926d088d..784b10dd50 100644 --- a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch @@ -77,8 +77,8 @@ Signed-off-by: Yangbo Lu * * A side effect of the link creation is re-ordering of dpm_list and the * devices_kset list by moving the consumer device and all devices depending -@@ -182,7 +182,8 @@ struct device_link *device_link_add(stru - struct device_link *link; +@@ -183,7 +183,8 @@ struct device_link *device_link_add(stru + bool rpm_put_supplier = false; if (!consumer || !supplier || - ((flags & DL_FLAG_STATELESS) && (flags & DL_FLAG_AUTOREMOVE))) @@ -86,8 +86,8 @@ Signed-off-by: Yangbo Lu + (flags & DL_FLAG_AUTOREMOVE_CONSUMER))) return NULL; - device_links_write_lock(); -@@ -200,8 +201,10 @@ struct device_link *device_link_add(stru + if (flags & DL_FLAG_PM_RUNTIME && flags & DL_FLAG_RPM_ACTIVE) { +@@ -209,8 +210,10 @@ struct device_link *device_link_add(stru } list_for_each_entry(link, &supplier->links.consumers, s_node) @@ -99,7 +99,7 @@ Signed-off-by: Yangbo Lu link = kzalloc(sizeof(*link), GFP_KERNEL); if (!link) -@@ -233,6 +236,7 @@ struct device_link *device_link_add(stru +@@ -237,6 +240,7 @@ struct device_link *device_link_add(stru link->consumer = consumer; INIT_LIST_HEAD(&link->c_node); link->flags = flags; @@ -107,7 +107,7 @@ Signed-off-by: Yangbo Lu /* Determine the initial link state. */ if (flags & DL_FLAG_STATELESS) { -@@ -303,8 +307,10 @@ static void __device_link_free_srcu(stru +@@ -311,8 +315,10 @@ static void __device_link_free_srcu(stru device_link_free(container_of(rhead, struct device_link, rcu_head)); } @@ -119,7 +119,7 @@ Signed-off-by: Yangbo Lu dev_info(link->consumer, "Dropping the link to %s\n", dev_name(link->supplier)); -@@ -316,8 +322,10 @@ static void __device_link_del(struct dev +@@ -324,8 +330,10 @@ static void __device_link_del(struct dev call_srcu(&device_links_srcu, &link->rcu_head, __device_link_free_srcu); } #else /* !CONFIG_SRCU */ @@ -131,7 +131,7 @@ Signed-off-by: Yangbo Lu dev_info(link->consumer, "Dropping the link to %s\n", dev_name(link->supplier)); -@@ -335,18 +343,50 @@ static void __device_link_del(struct dev +@@ -343,18 +351,50 @@ static void __device_link_del(struct dev * @link: Device link to delete. * * The caller must ensure proper synchronization of this function with runtime @@ -184,7 +184,7 @@ Signed-off-by: Yangbo Lu static void device_links_missing_supplier(struct device *dev) { struct device_link *link; -@@ -454,8 +494,8 @@ static void __device_links_no_driver(str +@@ -462,8 +502,8 @@ static void __device_links_no_driver(str if (link->flags & DL_FLAG_STATELESS) continue; @@ -195,7 +195,7 @@ Signed-off-by: Yangbo Lu else if (link->status != DL_STATE_SUPPLIER_UNBIND) WRITE_ONCE(link->status, DL_STATE_AVAILABLE); } -@@ -490,8 +530,18 @@ void device_links_driver_cleanup(struct +@@ -498,8 +538,18 @@ void device_links_driver_cleanup(struct if (link->flags & DL_FLAG_STATELESS) continue; @@ -215,7 +215,7 @@ Signed-off-by: Yangbo Lu WRITE_ONCE(link->status, DL_STATE_DORMANT); } -@@ -608,13 +658,13 @@ static void device_links_purge(struct de +@@ -616,13 +666,13 @@ static void device_links_purge(struct de list_for_each_entry_safe_reverse(link, ln, &dev->links.suppliers, c_node) { WARN_ON(link->status == DL_STATE_ACTIVE); @@ -231,7 +231,7 @@ Signed-off-by: Yangbo Lu } device_links_write_unlock(); -@@ -1036,6 +1086,34 @@ static ssize_t online_store(struct devic +@@ -1044,6 +1094,34 @@ static ssize_t online_store(struct devic } static DEVICE_ATTR_RW(online); @@ -266,7 +266,7 @@ Signed-off-by: Yangbo Lu int device_add_groups(struct device *dev, const struct attribute_group **groups) { return sysfs_create_groups(&dev->kobj, groups); -@@ -1207,8 +1285,20 @@ static int device_add_attrs(struct devic +@@ -1215,8 +1293,20 @@ static int device_add_attrs(struct devic goto err_remove_dev_groups; } @@ -287,7 +287,7 @@ Signed-off-by: Yangbo Lu err_remove_dev_groups: device_remove_groups(dev, dev->groups); err_remove_type_groups: -@@ -1226,6 +1316,8 @@ static void device_remove_attrs(struct d +@@ -1234,6 +1324,8 @@ static void device_remove_attrs(struct d struct class *class = dev->class; const struct device_type *type = dev->type; @@ -462,7 +462,7 @@ Signed-off-by: Yangbo Lu extern int __must_check bus_create_file(struct bus_type *, struct bus_attribute *); -@@ -750,14 +752,16 @@ enum device_link_state { +@@ -751,14 +753,16 @@ enum device_link_state { * Device link flags. * * STATELESS: The core won't track the presence of supplier/consumer drivers. @@ -484,7 +484,7 @@ Signed-off-by: Yangbo Lu /** * struct device_link - Device link representation. -@@ -768,6 +772,7 @@ enum device_link_state { +@@ -769,6 +773,7 @@ enum device_link_state { * @status: The state of the link (with respect to the presence of drivers). * @flags: Link flags. * @rpm_active: Whether or not the consumer device is runtime-PM-active. @@ -492,7 +492,7 @@ Signed-off-by: Yangbo Lu * @rcu_head: An RCU head to use for deferred execution of SRCU callbacks. */ struct device_link { -@@ -778,6 +783,7 @@ struct device_link { +@@ -779,6 +784,7 @@ struct device_link { enum device_link_state status; u32 flags; bool rpm_active; @@ -500,7 +500,7 @@ Signed-off-by: Yangbo Lu #ifdef CONFIG_SRCU struct rcu_head rcu_head; #endif -@@ -850,6 +856,8 @@ struct dev_links_info { +@@ -851,6 +857,8 @@ struct dev_links_info { * @coherent_dma_mask: Like dma_mask, but for alloc_coherent mapping as not all * hardware supports 64-bit addresses for consistent allocations * such descriptors. @@ -509,7 +509,7 @@ Signed-off-by: Yangbo Lu * @dma_pfn_offset: offset of DMA memory range relatively of RAM * @dma_parms: A low level driver may set these to teach IOMMU code about * segment limitations. -@@ -929,6 +937,7 @@ struct device { +@@ -930,6 +938,7 @@ struct device { not all hardware supports 64 bit addresses for consistent allocations such descriptors. */ @@ -517,7 +517,7 @@ Signed-off-by: Yangbo Lu unsigned long dma_pfn_offset; struct device_dma_parameters *dma_parms; -@@ -1267,6 +1276,7 @@ extern const char *dev_driver_string(con +@@ -1268,6 +1277,7 @@ extern const char *dev_driver_string(con struct device_link *device_link_add(struct device *consumer, struct device *supplier, u32 flags); void device_link_del(struct device_link *link); diff --git a/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch b/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch index 871a8068cb..919bb30cfc 100644 --- a/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/302-dts-support-layerscape.patch @@ -607,9 +607,9 @@ Signed-off-by: Zhao Qiang +}; + &enet0 { - tbi-handle = <&tbi1>; + tbi-handle = <&tbi0>; phy-handle = <&sgmii_phy2>; -@@ -228,6 +243,10 @@ +@@ -235,6 +250,10 @@ }; }; @@ -620,7 +620,7 @@ Signed-off-by: Zhao Qiang &sai1 { status = "okay"; }; -@@ -243,3 +262,11 @@ +@@ -250,3 +269,11 @@ &uart1 { status = "okay"; }; @@ -740,7 +740,7 @@ Signed-off-by: Zhao Qiang dcu: dcu@2ce0000 { compatible = "fsl,ls1021a-dcu"; reg = <0x0 0x2ce0000 0x0 0x10000>; -@@ -684,6 +734,11 @@ +@@ -693,6 +743,11 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; @@ -752,7 +752,7 @@ Signed-off-by: Zhao Qiang }; pcie@3400000 { -@@ -691,7 +746,9 @@ +@@ -700,7 +755,9 @@ reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */ 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ reg-names = "regs", "config"; @@ -763,7 +763,7 @@ Signed-off-by: Zhao Qiang fsl,pcie-scfg = <&scfg 0>; #address-cells = <3>; #size-cells = <2>; -@@ -707,6 +764,7 @@ +@@ -716,6 +773,7 @@ <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; @@ -771,7 +771,7 @@ Signed-off-by: Zhao Qiang }; pcie@3500000 { -@@ -714,7 +772,9 @@ +@@ -723,7 +781,9 @@ reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */ 0x48 0x00000000 0x0 0x00002000>; /* configuration space */ reg-names = "regs", "config"; @@ -782,7 +782,7 @@ Signed-off-by: Zhao Qiang fsl,pcie-scfg = <&scfg 1>; #address-cells = <3>; #size-cells = <2>; -@@ -730,6 +790,47 @@ +@@ -739,6 +799,47 @@ <0000 0 0 2 &gic GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, <0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; diff --git a/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch b/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch index 331c77c80a..09a33572fe 100644 --- a/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/811-clock-support-layerscape.patch @@ -75,7 +75,7 @@ Signed-off-by: Yogesh Gaur snprintf(pll->div[i].name, sizeof(pll->div[i].name), "cg-pll%d-div%d", idx, i + 1); -@@ -1417,6 +1435,7 @@ CLK_OF_DECLARE(qoriq_clockgen_ls1043a, " +@@ -1418,6 +1436,7 @@ CLK_OF_DECLARE(qoriq_clockgen_ls1043a, " CLK_OF_DECLARE(qoriq_clockgen_ls1046a, "fsl,ls1046a-clockgen", clockgen_init); CLK_OF_DECLARE(qoriq_clockgen_ls1088a, "fsl,ls1088a-clockgen", clockgen_init); CLK_OF_DECLARE(qoriq_clockgen_ls2080a, "fsl,ls2080a-clockgen", clockgen_init); diff --git a/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch b/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch index 9632b32d56..63f6540be0 100644 --- a/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/820-sec-support-layerscape.patch @@ -11852,7 +11852,7 @@ Signed-off-by: Zhao Qiang dev = caam_jr_alloc(); if (IS_ERR(dev)) { -@@ -361,10 +342,3 @@ free_caam_alloc: +@@ -364,10 +345,3 @@ free_caam_alloc: caam_jr_free(dev); return err; } diff --git a/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch b/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch index c396e314a9..bb49ee75e8 100644 --- a/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch +++ b/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1943,7 +1943,7 @@ static struct phy_driver genphy_driver = +@@ -1944,7 +1944,7 @@ static struct phy_driver genphy_driver = .config_init = genphy_config_init, .features = PHY_GBIT_FEATURES | SUPPORTED_MII | SUPPORTED_AUI | SUPPORTED_FIBRE | diff --git a/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch b/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch index a7288acdf1..af910a6660 100644 --- a/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch +++ b/target/linux/mediatek/patches-4.14/0199-thermal-mtk-Cleanup-unused-defines.patch @@ -40,7 +40,7 @@ Signed-off-by: Eduardo Valentin struct mtk_thermal; struct thermal_bank_cfg { -@@ -765,7 +758,7 @@ static struct platform_driver mtk_therma +@@ -767,7 +760,7 @@ static struct platform_driver mtk_therma .probe = mtk_thermal_probe, .remove = mtk_thermal_remove, .driver = { diff --git a/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch b/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch index 731bd163d8..1dc293641e 100644 --- a/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch +++ b/target/linux/mediatek/patches-4.14/0200-thermal-mediatek-add-support-for-MT7622-SoC.patch @@ -68,7 +68,7 @@ Signed-off-by: Shunli Wang /** * raw_to_mcelsius - convert a raw ADC value to mcelsius * @mt: The thermal controller -@@ -631,6 +662,10 @@ static const struct of_device_id mtk_the +@@ -633,6 +664,10 @@ static const struct of_device_id mtk_the { .compatible = "mediatek,mt2712-thermal", .data = (void *)&mt2712_thermal_data, diff --git a/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch b/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch index af4a921583..23c3ec27ed 100644 --- a/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch +++ b/target/linux/sunxi/patches-4.14/025-arm64-dts-allwinner-A64-Restore-EMAC-changes.patch @@ -155,7 +155,7 @@ Signed-off-by: Maxime Ripard pinctrl-0 = <&mmc2_pins>; --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -449,6 +449,26 @@ +@@ -450,6 +450,26 @@ #size-cells = <0>; }; diff --git a/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch b/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch index 40efc9f3e8..ee4731d0dc 100644 --- a/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch +++ b/target/linux/sunxi/patches-4.14/026-arm64-dts-allwinner-add-snps-dwmac-mdio-compatible-t.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -464,6 +464,7 @@ +@@ -465,6 +465,7 @@ #size-cells = <0>; mdio: mdio { diff --git a/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch b/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch index 0503b88823..90c72f9508 100644 --- a/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch +++ b/target/linux/sunxi/patches-4.14/040-arm64-dts-allwinner-a64-Add-watchdog.patch @@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard Example: --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -537,5 +537,12 @@ +@@ -538,5 +538,12 @@ #address-cells = <1>; #size-cells = <0>; }; diff --git a/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch b/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch index 5374547e92..1e40f99d04 100644 --- a/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch +++ b/target/linux/sunxi/patches-4.14/080-arm64-allwinner-a64-add-SPI-nodes.patch @@ -21,7 +21,7 @@ Signed-off-by: Maxime Ripard --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -325,6 +325,16 @@ +@@ -326,6 +326,16 @@ drive-strength = <40>; }; @@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard uart0_pins_a: uart0@0 { pins = "PB8", "PB9"; function = "uart0"; -@@ -470,6 +480,37 @@ +@@ -471,6 +481,37 @@ }; }; -- 2.30.2