netvsc: don't signal host twice if empty
authorstephen hemminger <stephen@networkplumber.org>
Thu, 10 Aug 2017 00:46:04 +0000 (17:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Aug 2017 20:59:42 +0000 (13:59 -0700)
When hv_pkt_iter_next() returns NULL, it has already called
hv_pkt_iter_close(). Calling it twice can lead to extra host signal.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c

index bffaf93d3cb06def2e544714c000230f1272dbdd..b5fc8fb56b8846994b0222042967d8b103b8a0ec 100644 (file)
@@ -1191,10 +1191,6 @@ int netvsc_poll(struct napi_struct *napi, int budget)
                nvchan->desc = hv_pkt_iter_next(channel, nvchan->desc);
        }
 
-       /* if ring is empty, signal host */
-       if (!nvchan->desc)
-               hv_pkt_iter_close(channel);
-
        /* If send of pending receive completions suceeded
         *   and did not exhaust NAPI budget this time
         *   and not doing busy poll