]> git.baikalelectronics.ru Git - kernel.git/commit
hv_netvsc: split sub-channel setup into async and sync
authorStephen Hemminger <sthemmin@microsoft.com>
Fri, 29 Jun 2018 21:07:16 +0000 (14:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Jun 2018 12:28:36 +0000 (21:28 +0900)
commit949f42da0f4bf4912b2200b174e629baa531b66b
treef75e61535c1775e4a0f0c31d5832c66c4a08b51b
parent352cdde872131745693ce5435cac3c832f8575b0
hv_netvsc: split sub-channel setup into async and sync

When doing device hotplug the sub channel must be async to avoid
deadlock issues because device is discovered in softirq context.

When doing changes to MTU and number of channels, the setup
must be synchronous to avoid races such as when MTU and device
settings are done in a single ip command.

Reported-by: Thomas Walker <Thomas.Walker@twosigma.com>
Fixes: e8f6a1a93b8a ("hv_netvsc: fix deadlock on hotplug")
Fixes: a72c4faea97f ("netvsc: fix race on sub channel creation")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/hyperv_net.h
drivers/net/hyperv/netvsc.c
drivers/net/hyperv/netvsc_drv.c
drivers/net/hyperv/rndis_filter.c