mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
dpaa_eth: copy timestamp fields to new skb in A-050385 workaround
The timestamp fields should be copied to new skb too in
A-050385 workaround for later TX timestamping handling.
Fixes: 3c68b8fffb
("dpaa_eth: FMan erratum A050385 workaround")
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Acked-by: Camelia Groza <camelia.groza@nxp.com>
Link: https://lore.kernel.org/r/20201201075258.1875-1-yangbo.lu@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
832ba59649
commit
07500a6085
@ -2120,6 +2120,15 @@ workaround:
|
||||
skb_copy_header(new_skb, skb);
|
||||
new_skb->dev = skb->dev;
|
||||
|
||||
/* Copy relevant timestamp info from the old skb to the new */
|
||||
if (priv->tx_tstamp) {
|
||||
skb_shinfo(new_skb)->tx_flags = skb_shinfo(skb)->tx_flags;
|
||||
skb_shinfo(new_skb)->hwtstamps = skb_shinfo(skb)->hwtstamps;
|
||||
skb_shinfo(new_skb)->tskey = skb_shinfo(skb)->tskey;
|
||||
if (skb->sk)
|
||||
skb_set_owner_w(new_skb, skb->sk);
|
||||
}
|
||||
|
||||
/* We move the headroom when we align it so we have to reset the
|
||||
* network and transport header offsets relative to the new data
|
||||
* pointer. The checksum offload relies on these offsets.
|
||||
@ -2127,7 +2136,6 @@ workaround:
|
||||
skb_set_network_header(new_skb, skb_network_offset(skb));
|
||||
skb_set_transport_header(new_skb, skb_transport_offset(skb));
|
||||
|
||||
/* TODO: does timestamping need the result in the old skb? */
|
||||
dev_kfree_skb(skb);
|
||||
*s = new_skb;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user