hv_netvsc: fix race in napi poll when rescheduling
authorStephen Hemminger <stephen@networkplumber.org>
Mon, 14 May 2018 22:32:13 +0000 (15:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 May 2018 14:17:28 +0000 (16:17 +0200)
commit0ac663c5674a8ed1b986e3de82d6b5427536b5ad
treeb53a8930271bd5975c6ecc70e9842afd7f0ce5d2
parent99e06589bd5d6631bbea0a5128257bf16dabac9b
hv_netvsc: fix race in napi poll when rescheduling

[ Commit d64e38ae690e3337db0d38d9b149a193a1646c4b upstream. ]

There is a race between napi_reschedule and re-enabling interrupts
which could lead to missed host interrrupts.  This occurs when
interrupts are re-enabled (hv_end_read) and vmbus irq callback
(netvsc_channel_cb) has already scheduled NAPI.

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