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>
                         (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 +
                dev_kfree_skb_any(skb);
        }
 
-       return NETDEV_TX_OK;
+       return ret ? NETDEV_TX_BUSY : NETDEV_TX_OK;
 }
 
 /*