Signed-off-by: Michał Mirosław <mirq-li...@rere.qmqm.pl>
---
 drivers/net/hyperv/netvsc_drv.c   | 1 +
 drivers/net/hyperv/rndis_filter.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 6597d7901929..4e20f4c247fa 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -441,6 +441,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct 
net_device *net)
                vlan = (struct ndis_pkt_8021q_info *)((void *)ppi +
                                                ppi->ppi_offset);
                vlan->vlanid = skb->vlan_tci & VLAN_VID_MASK;
+               vlan->cfi = !!(skb->vlan_tci & VLAN_CFI_MASK);
                vlan->pri = (skb->vlan_tci & VLAN_PRIO_MASK) >>
                                VLAN_PRIO_SHIFT;
        }
diff --git a/drivers/net/hyperv/rndis_filter.c 
b/drivers/net/hyperv/rndis_filter.c
index 7f7b410a41c2..9759d7380037 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -382,6 +382,7 @@ static int rndis_filter_receive_data(struct rndis_device 
*dev,
        vlan = rndis_get_ppi(rndis_pkt, IEEE_8021Q_INFO);
        if (vlan) {
                vlan_tci = vlan->vlanid |
+                       (vlan->cfi ? VLAN_CFI_MASK : 0) |
                        (vlan->pri << VLAN_PRIO_SHIFT);
        }
 
-- 
2.11.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to