kernel: bump 4.9 to 4.9.119

Refreshed all patches.

Delete upstreamed patch:
- 100-tcp-add-tcp_ooo_try_coalesce-helper.patch

Compile-tested on: ar71xx
Runtime-tested on: ar71xx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
v19.07.3_mercusys_ac12_duma
Koen Vandeputte 6 years ago
parent 1961948585
commit 21a229317f

@ -3,12 +3,12 @@
LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .71
LINUX_VERSION-4.9 = .118
LINUX_VERSION-4.14 = .61
LINUX_VERSION-4.9 = .119
LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
LINUX_KERNEL_HASH-4.9.118 = 7df789e40c6040cd6f6e34326f477b389ab7eaf2bb04940fca4bbe5e733add57
LINUX_KERNEL_HASH-4.14.61 = 0d0ec521a771e7d393f25b789a06d9af6e2a5a4837fadc04e7048e03b41c70e8
LINUX_KERNEL_HASH-4.9.119 = 49e17f01a1a607b4b1ab28dc7177e103943151866c3956fd83edc8a4aae60b35
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

@ -1,8 +1,6 @@
Index: linux-4.9.111/drivers/net/phy/at803x.c
===================================================================
--- linux-4.9.111.orig/drivers/net/phy/at803x.c
+++ linux-4.9.111/drivers/net/phy/at803x.c
@@ -461,12 +461,15 @@ static void at803x_link_change_notify(st
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -460,12 +460,15 @@ static void at803x_link_change_notify(st
static int at803x_aneg_done(struct phy_device *phydev)
{
@ -18,7 +16,7 @@ Index: linux-4.9.111/drivers/net/phy/at803x.c
/*
* in SGMII mode, if copper side autoneg is successful,
* also check SGMII side autoneg result
@@ -481,7 +484,8 @@ static int at803x_aneg_done(struct phy_d
@@ -480,7 +483,8 @@ static int at803x_aneg_done(struct phy_d
/* check if the SGMII link is OK. */
if (!(phy_read(phydev, AT803X_PSSR) & AT803X_PSSR_MR_AN_COMPLETE)) {
pr_warn("803x_aneg_done: SGMII link is not ok\n");
@ -28,10 +26,8 @@ Index: linux-4.9.111/drivers/net/phy/at803x.c
}
/* switch back to copper page */
phy_write(phydev, AT803X_REG_CHIP_CONFIG, ccr | AT803X_BT_BX_REG_SEL);
Index: linux-4.9.111/include/linux/platform_data/phy-at803x.h
===================================================================
--- linux-4.9.111.orig/include/linux/platform_data/phy-at803x.h
+++ linux-4.9.111/include/linux/platform_data/phy-at803x.h
--- a/include/linux/platform_data/phy-at803x.h
+++ b/include/linux/platform_data/phy-at803x.h
@@ -7,6 +7,7 @@ struct at803x_platform_data {
int enable_rgmii_rx_delay:1;
int fixup_rgmii_tx_delay:1;

@ -1,7 +1,5 @@
Index: linux-4.9.111/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
===================================================================
--- linux-4.9.111.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ linux-4.9.111/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
@@ -134,7 +134,7 @@
#define QCA955X_PCI_CTRL_SIZE 0x100

@ -1,76 +0,0 @@
From 74b120c45aebf4278e1dedc55f5fa24d8ea83cdc Mon Sep 17 00:00:00 2001
From: Eric Dumazet <edumazet@google.com>
Date: Mon, 23 Jul 2018 09:28:21 -0700
Subject: tcp: add tcp_ooo_try_coalesce() helper
commit 58152ecbbcc6a0ce7fddd5bf5f6ee535834ece0c upstream.
In case skb in out_or_order_queue is the result of
multiple skbs coalescing, we would like to get a proper gso_segs
counter tracking, so that future tcp_drop() can report an accurate
number.
I chose to not implement this tracking for skbs in receive queue,
since they are not dropped, unless socket is disconnected.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/ipv4/tcp_input.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index a9be8df108b4..9d0b73aa649f 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4370,6 +4370,23 @@ static bool tcp_try_coalesce(struct sock *sk,
return true;
}
+static bool tcp_ooo_try_coalesce(struct sock *sk,
+ struct sk_buff *to,
+ struct sk_buff *from,
+ bool *fragstolen)
+{
+ bool res = tcp_try_coalesce(sk, to, from, fragstolen);
+
+ /* In case tcp_drop() is called later, update to->gso_segs */
+ if (res) {
+ u32 gso_segs = max_t(u16, 1, skb_shinfo(to)->gso_segs) +
+ max_t(u16, 1, skb_shinfo(from)->gso_segs);
+
+ skb_shinfo(to)->gso_segs = min_t(u32, gso_segs, 0xFFFF);
+ }
+ return res;
+}
+
static void tcp_drop(struct sock *sk, struct sk_buff *skb)
{
sk_drops_add(sk, skb);
@@ -4493,7 +4510,8 @@ static void tcp_data_queue_ofo(struct sock *sk, struct sk_buff *skb)
/* In the typical case, we are adding an skb to the end of the list.
* Use of ooo_last_skb avoids the O(Log(N)) rbtree lookup.
*/
- if (tcp_try_coalesce(sk, tp->ooo_last_skb, skb, &fragstolen)) {
+ if (tcp_ooo_try_coalesce(sk, tp->ooo_last_skb,
+ skb, &fragstolen)) {
coalesce_done:
tcp_grow_window(sk, skb);
kfree_skb_partial(skb, fragstolen);
@@ -4543,7 +4561,8 @@ coalesce_done:
tcp_drop(sk, skb1);
goto merge_right;
}
- } else if (tcp_try_coalesce(sk, skb1, skb, &fragstolen)) {
+ } else if (tcp_ooo_try_coalesce(sk, skb1,
+ skb, &fragstolen)) {
goto coalesce_done;
}
p = &parent->rb_right;
--
cgit 1.2-0.3.lf.el7

@ -95,7 +95,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
};
static const struct imx_i2c_hwdata imx1_i2c_hwdata = {
@@ -879,6 +938,78 @@ static int i2c_imx_read(struct imx_i2c_s
@@ -878,6 +937,78 @@ static int i2c_imx_read(struct imx_i2c_s
return 0;
}
@ -174,7 +174,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
static int i2c_imx_xfer(struct i2c_adapter *adapter,
struct i2c_msg *msgs, int num)
{
@@ -889,6 +1020,19 @@ static int i2c_imx_xfer(struct i2c_adapt
@@ -888,6 +1019,19 @@ static int i2c_imx_xfer(struct i2c_adapt
dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);
@ -194,7 +194,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
result = pm_runtime_get_sync(i2c_imx->adapter.dev.parent);
if (result < 0)
goto out;
@@ -1031,6 +1175,50 @@ static int i2c_imx_init_recovery_info(st
@@ -1030,6 +1174,50 @@ static int i2c_imx_init_recovery_info(st
return 0;
}
@ -245,7 +245,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
static u32 i2c_imx_func(struct i2c_adapter *adapter)
{
return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL
@@ -1086,6 +1274,11 @@ static int i2c_imx_probe(struct platform
@@ -1085,6 +1273,11 @@ static int i2c_imx_probe(struct platform
i2c_imx->adapter.dev.of_node = pdev->dev.of_node;
i2c_imx->base = base;
@ -257,7 +257,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
/* Get I2C clock */
i2c_imx->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(i2c_imx->clk)) {
@@ -1100,7 +1293,7 @@ static int i2c_imx_probe(struct platform
@@ -1099,7 +1292,7 @@ static int i2c_imx_probe(struct platform
}
/* Request IRQ */

Loading…
Cancel
Save