]> 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)
commitc39a8f2a8e0cb11afce2fb6412dce23e3f5b7499
treef75e61535c1775e4a0f0c31d5832c66c4a08b51b
parent3f5d00a1b531fe55e176e0fb795c7fcf9cab7f0a
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: b285686f2732 ("hv_netvsc: fix deadlock on hotplug")
Fixes: 95f09f6df6e1 ("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