diff options
| author | Steve French <sfrench@us.ibm.com> | 2008-02-15 21:06:08 +0000 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2008-02-15 21:06:08 +0000 |
| commit | 0a3abcf75bf391fec4e32356ab5ddb8f5d2e6b41 (patch) | |
| tree | b80b1d344ec24cad28b057ef803cebac9434be01 /drivers/net/virtio_net.c | |
| parent | 70eff55d2d979cca700aa6906494f0c474f3f7ff (diff) | |
| parent | 101142c37be8e5af9b847860219217e6b958c739 (diff) | |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/net/virtio_net.c')
| -rw-r--r-- | drivers/net/virtio_net.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index e66de0c12fc..fdc23678117 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -302,10 +302,12 @@ static int virtnet_open(struct net_device *dev) /* If all buffers were filled by other side before we napi_enabled, we * won't get another interrupt, so process any outstanding packets - * now. virtnet_poll wants re-enable the queue, so we disable here. */ - vi->rvq->vq_ops->disable_cb(vi->rvq); - netif_rx_schedule(vi->dev, &vi->napi); - + * now. virtnet_poll wants re-enable the queue, so we disable here. + * We synchronize against interrupts via NAPI_STATE_SCHED */ + if (netif_rx_schedule_prep(dev, &vi->napi)) { + vi->rvq->vq_ops->disable_cb(vi->rvq); + __netif_rx_schedule(dev, &vi->napi); + } return 0; } |
