diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0063-sdk_dpaa-propagate-the-skb-ownership-information.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0063-sdk_dpaa-propagate-the-skb-ownership-information.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0063-sdk_dpaa-propagate-the-skb-ownership-information.patch b/target/linux/layerscape/patches-5.4/701-net-0063-sdk_dpaa-propagate-the-skb-ownership-information.patch new file mode 100644 index 0000000000..f906dc9771 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0063-sdk_dpaa-propagate-the-skb-ownership-information.patch @@ -0,0 +1,33 @@ +From 1a5fe4c83c7ba997a7fc433fcfc4818d48689ecc Mon Sep 17 00:00:00 2001 +From: Madalin Bucur <madalin.bucur@nxp.com> +Date: Wed, 25 Apr 2018 18:49:32 +0300 +Subject: [PATCH] sdk_dpaa: propagate the skb ownership information + +Some skbs on the Tx path may be reallocated by the driver +due to insufficient headroom, in which case the socket +value gets lost. + +Make sure we propagate the skb ownership information to the +new skb, since it's needed by the Tx timestamp function in +the kernel. + +Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> +Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> +--- + drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c ++++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c +@@ -1113,6 +1113,11 @@ int __hot dpa_tx_extended(struct sk_buff + percpu_stats->tx_errors++; + return NETDEV_TX_OK; + } ++ ++ /* propagate the skb ownership information */ ++ if (skb->sk) ++ skb_set_owner_w(skb_new, skb->sk); ++ + dev_kfree_skb(skb); + skb = skb_new; + } |