Commit bf769375 authored by Haiyang Zhang's avatar Haiyang Zhang Committed by Greg Kroah-Hartman

staging: hv: fix the return status of netvsc_start_xmit()

Fix the return status, so the upper layer will retry if transmission
fails.
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8a5f9edc
...@@ -140,12 +140,12 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) ...@@ -140,12 +140,12 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
(num_pages * sizeof(struct hv_page_buffer)) + (num_pages * sizeof(struct hv_page_buffer)) +
sizeof(struct rndis_filter_packet), GFP_ATOMIC); sizeof(struct rndis_filter_packet), GFP_ATOMIC);
if (!packet) { if (!packet) {
/* out of memory, silently drop packet */ /* out of memory, drop packet */
netdev_err(net, "unable to allocate hv_netvsc_packet\n"); netdev_err(net, "unable to allocate hv_netvsc_packet\n");
dev_kfree_skb(skb); dev_kfree_skb(skb);
net->stats.tx_dropped++; net->stats.tx_dropped++;
return NETDEV_TX_OK; return NETDEV_TX_BUSY;
} }
packet->extension = (void *)(unsigned long)packet + packet->extension = (void *)(unsigned long)packet +
...@@ -194,7 +194,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) ...@@ -194,7 +194,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
} }
return NETDEV_TX_OK; return ret ? NETDEV_TX_BUSY : NETDEV_TX_OK;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment