mirror of https://gitee.com/openkylin/linux.git
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: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
8a5f9edc4d
commit
bf769375c9
|
@ -140,12 +140,12 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
|
|||
(num_pages * sizeof(struct hv_page_buffer)) +
|
||||
sizeof(struct rndis_filter_packet), GFP_ATOMIC);
|
||||
if (!packet) {
|
||||
/* out of memory, silently drop packet */
|
||||
/* out of memory, drop packet */
|
||||
netdev_err(net, "unable to allocate hv_netvsc_packet\n");
|
||||
|
||||
dev_kfree_skb(skb);
|
||||
net->stats.tx_dropped++;
|
||||
return NETDEV_TX_OK;
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
|
||||
packet->extension = (void *)(unsigned long)packet +
|
||||
|
@ -194,7 +194,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
|
|||
dev_kfree_skb_any(skb);
|
||||
}
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
return ret ? NETDEV_TX_BUSY : NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue