|
@@ -293,12 +293,10 @@ static void ixgbevf_receive_skb(struct ixgbevf_q_vector *q_vector,
|
|
{
|
|
{
|
|
struct ixgbevf_adapter *adapter = q_vector->adapter;
|
|
struct ixgbevf_adapter *adapter = q_vector->adapter;
|
|
bool is_vlan = (status & IXGBE_RXD_STAT_VP);
|
|
bool is_vlan = (status & IXGBE_RXD_STAT_VP);
|
|
|
|
+ u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);
|
|
|
|
|
|
- if (is_vlan) {
|
|
|
|
- u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);
|
|
|
|
-
|
|
|
|
|
|
+ if (is_vlan && test_bit(tag, adapter->active_vlans))
|
|
__vlan_hwaccel_put_tag(skb, tag);
|
|
__vlan_hwaccel_put_tag(skb, tag);
|
|
- }
|
|
|
|
|
|
|
|
if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL))
|
|
if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL))
|
|
napi_gro_receive(&q_vector->napi, skb);
|
|
napi_gro_receive(&q_vector->napi, skb);
|