diff options
Diffstat (limited to 'drivers/net/virtio_net.c')
-rw-r--r-- | drivers/net/virtio_net.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index be5688f5e931..bd4d26a36ead 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c | |||
@@ -283,6 +283,13 @@ static int virtnet_open(struct net_device *dev) | |||
283 | struct virtnet_info *vi = netdev_priv(dev); | 283 | struct virtnet_info *vi = netdev_priv(dev); |
284 | 284 | ||
285 | napi_enable(&vi->napi); | 285 | napi_enable(&vi->napi); |
286 | |||
287 | /* If all buffers were filled by other side before we napi_enabled, we | ||
288 | * won't get another interrupt, so process any outstanding packets | ||
289 | * now. virtnet_poll wants re-enable the queue, so we disable here. */ | ||
290 | vi->rvq->vq_ops->disable_cb(vi->rvq); | ||
291 | netif_rx_schedule(vi->dev, &vi->napi); | ||
292 | |||
286 | return 0; | 293 | return 0; |
287 | } | 294 | } |
288 | 295 | ||