OSDN Git Service

hyperv: Add netpoll support
authorRichard Weinberger <richard@nod.at>
Wed, 9 Jul 2014 14:23:59 +0000 (16:23 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Jul 2014 23:52:49 +0000 (16:52 -0700)
In order to have at least a netconsole to debug kernel issues on
Windows Azure this patch implements netpoll support.
Sending packets is easy, netvsc_start_xmit() does already everything
needed.

Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc_drv.c

index 9b27ca8..a9c5eaa 100644 (file)
@@ -749,6 +749,14 @@ static int netvsc_set_mac_addr(struct net_device *ndev, void *p)
        return err;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void netvsc_poll_controller(struct net_device *net)
+{
+       /* As netvsc_start_xmit() works synchronous we don't have to
+        * trigger anything here.
+        */
+}
+#endif
 
 static const struct ethtool_ops ethtool_ops = {
        .get_drvinfo    = netvsc_get_drvinfo,
@@ -764,6 +772,9 @@ static const struct net_device_ops device_ops = {
        .ndo_validate_addr =            eth_validate_addr,
        .ndo_set_mac_address =          netvsc_set_mac_addr,
        .ndo_select_queue =             netvsc_select_queue,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller =          netvsc_poll_controller,
+#endif
 };
 
 /*