diff --git a/[refs] b/[refs] index 7093281dd330..ad8ae4f77ab7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bdc1681cdf1ab6a65fa935a2b3f8fc63b20c54ea +refs/heads/master: da74e89d40995600b3b07ac500084920247687ce diff --git a/trunk/drivers/net/virtio_net.c b/trunk/drivers/net/virtio_net.c index 19fd4cb0ddf8..e575df83e5c2 100644 --- a/trunk/drivers/net/virtio_net.c +++ b/trunk/drivers/net/virtio_net.c @@ -294,6 +294,15 @@ static int start_xmit(struct sk_buff *skb, struct net_device *dev) return 0; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void virtnet_netpoll(struct net_device *dev) +{ + struct virtnet_info *vi = netdev_priv(dev); + + napi_schedule(&vi->napi); +} +#endif + static int virtnet_open(struct net_device *dev) { struct virtnet_info *vi = netdev_priv(dev); @@ -336,6 +345,9 @@ static int virtnet_probe(struct virtio_device *vdev) dev->stop = virtnet_close; dev->hard_start_xmit = start_xmit; dev->features = NETIF_F_HIGHDMA; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = virtnet_netpoll; +#endif SET_NETDEV_DEV(dev, &vdev->dev); /* Do we support "hardware" checksums? */