mirror of https://gitee.com/openkylin/linux.git
net: fec: fix receive VLAN CTAG HW acceleration issue
The current driver support receive VLAN CTAG HW acceleration feature
(NETIF_F_HW_VLAN_CTAG_RX) through software simulation. There calls the
api .skb_copy_to_linear_data_offset() to skip the VLAN tag, but there
have overlap between the two memory data point range. The patch just fix
the issue.
V2:
Michael Grzeschik suggest to use memmove() instead of skb_copy_to_linear_data_offset().
Reported-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Fixes: 1b7bde6d65
("net: fec: implement rx_copybreak to improve rx performance")
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5a3dba7a5f
commit
af5cbc9822
|
@ -1479,8 +1479,7 @@ fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id)
|
||||||
|
|
||||||
vlan_packet_rcvd = true;
|
vlan_packet_rcvd = true;
|
||||||
|
|
||||||
skb_copy_to_linear_data_offset(skb, VLAN_HLEN,
|
memmove(skb->data + VLAN_HLEN, data, ETH_ALEN * 2);
|
||||||
data, (2 * ETH_ALEN));
|
|
||||||
skb_pull(skb, VLAN_HLEN);
|
skb_pull(skb, VLAN_HLEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue