mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
virtio-net: restore VIRTIO_HDR_F_DATA_VALID on receiving
Commit 501db51139 ("virtio: don't set VIRTIO_NET_HDR_F_DATA_VALID on
xmit") in fact disables VIRTIO_HDR_F_DATA_VALID on receiving path too,
fixing this by adding a hint (has_data_valid) and set it only on the
receiving path.
Cc: Rolf Neugebauer <[email protected]>
Signed-off-by: Jason Wang <[email protected]>
Acked-by: Rolf Neugebauer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
69fed99baa
commit
6391a4481b
5 changed files with 10 additions and 6 deletions
|
|
@ -1976,7 +1976,7 @@ static int packet_rcv_vnet(struct msghdr *msg, const struct sk_buff *skb,
|
|||
return -EINVAL;
|
||||
*len -= sizeof(vnet_hdr);
|
||||
|
||||
if (virtio_net_hdr_from_skb(skb, &vnet_hdr, vio_le()))
|
||||
if (virtio_net_hdr_from_skb(skb, &vnet_hdr, vio_le(), true))
|
||||
return -EINVAL;
|
||||
|
||||
return memcpy_to_msg(msg, (void *)&vnet_hdr, sizeof(vnet_hdr));
|
||||
|
|
@ -2237,7 +2237,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
if (po->has_vnet_hdr) {
|
||||
if (virtio_net_hdr_from_skb(skb, h.raw + macoff -
|
||||
sizeof(struct virtio_net_hdr),
|
||||
vio_le())) {
|
||||
vio_le(), true)) {
|
||||
spin_lock(&sk->sk_receive_queue.lock);
|
||||
goto drop_n_account;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue