netvsc: Fix a bug in sub-channel handling
authorK. Y. Srinivasan <kys@microsoft.com>
Sat, 25 Mar 2017 03:54:36 +0000 (20:54 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 26 Mar 2017 03:15:56 +0000 (20:15 -0700)
All netvsc channels are handled via NAPI. Setup the "read mode" correctly
for the netvsc sub-channels.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/rndis_filter.c

index 91b3bcfd9acb3c20c7994e92d610a769f9947b60..983582526b37ffbfe258ab3d603a63f20f34ad08 100644 (file)
@@ -1002,6 +1002,11 @@ static void netvsc_sc_open(struct vmbus_channel *new_sc)
        if (!nvchan->mrc.buf)
                return;
 
+       /* Because the device uses NAPI, all the interrupt batching and
+        * control is done via Net softirq, not the channel handling
+        */
+       set_channel_read_mode(new_sc, HV_CALL_ISR);
+
        ret = vmbus_open(new_sc, nvscdev->ring_size * PAGE_SIZE,
                         nvscdev->ring_size * PAGE_SIZE, NULL, 0,
                         netvsc_channel_cb, nvchan);