]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
authorShradha Gupta <shradhagupta@linux.microsoft.com>
Fri, 2 Feb 2024 04:40:38 +0000 (20:40 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Feb 2024 13:38:08 +0000 (13:38 +0000)
commit9cae43da9867412f8bd09aee5c8a8dc5e8dc3dc2
tree77428d135ade678d8e1ed1ece1cf72509129ec4a
parentb09b58e31b0f43d76f79b9943da3fb7c2843dcbb
hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed

If hv_netvsc driver is unloaded and reloaded, the NET_DEVICE_REGISTER
handler cannot perform VF register successfully as the register call
is received before netvsc_probe is finished. This is because we
register register_netdevice_notifier() very early( even before
vmbus_driver_register()).
To fix this, we try to register each such matching VF( if it is visible
as a netdevice) at the end of netvsc_probe.

Cc: stable@vger.kernel.org
Fixes: 85520856466e ("hv_netvsc: Fix race of register_netdevice_notifier and VF register")
Suggested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc_drv.c