| 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; |
| } |