]> git.baikalelectronics.ru Git - kernel.git/commitdiff
hv_netvsc: Check VF datapath when sending traffic to VF
authorLong Li <longli@microsoft.com>
Sat, 9 Jan 2021 00:53:41 +0000 (16:53 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 13 Jan 2021 03:58:36 +0000 (19:58 -0800)
The driver needs to check if the datapath has been switched to VF before
sending traffic to VF.

Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/hyperv/netvsc_drv.c

index f32f28311d5735e4c32774a44b8bc7e119a183e8..5dd4f37afa3dacf6a268c8e023555363c5e83962 100644 (file)
@@ -539,7 +539,8 @@ static int netvsc_xmit(struct sk_buff *skb, struct net_device *net, bool xdp_tx)
         */
        vf_netdev = rcu_dereference_bh(net_device_ctx->vf_netdev);
        if (vf_netdev && netif_running(vf_netdev) &&
-           netif_carrier_ok(vf_netdev) && !netpoll_tx_running(net))
+           netif_carrier_ok(vf_netdev) && !netpoll_tx_running(net) &&
+           net_device_ctx->data_path_is_vf)
                return netvsc_vf_xmit(net, vf_netdev, skb);
 
        /* We will atmost need two pages to describe the rndis