dev_kfree_skb_any(skb);
                return NETDEV_TX_OK;
        }
-       virtqueue_kick(sq->vq);
 
        /* Don't wait up for transmitted skbs to be freed. */
        skb_orphan(skb);
        return NETDEV_TX_OK;
 }
 
+static void xmit_flush(struct net_device *dev, u16 qnum)
+{
+       struct virtnet_info *vi = netdev_priv(dev);
+       struct send_queue *sq = &vi->sq[qnum];
+
+       virtqueue_kick(sq->vq);
+}
+
 /*
  * Send command via the control virtqueue and check status.  Commands
  * supported by the hypervisor, as indicated by feature bits, should
        .ndo_open            = virtnet_open,
        .ndo_stop            = virtnet_close,
        .ndo_start_xmit      = start_xmit,
+       .ndo_xmit_flush      = xmit_flush,
        .ndo_validate_addr   = eth_validate_addr,
        .ndo_set_mac_address = virtnet_set_mac_address,
        .ndo_set_rx_mode     = virtnet_set_rx_mode,