aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_main.c')
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index c45e4e7999e..42b803d5cfd 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -459,23 +459,16 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
459 u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); 459 u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);
460 460
461 skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]); 461 skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]);
462 if (skb->ip_summed == CHECKSUM_UNNECESSARY) { 462 if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) {
463 if (adapter->vlgrp && is_vlan && (tag != 0)) 463 if (adapter->vlgrp && is_vlan && (tag != 0))
464 vlan_gro_receive(napi, adapter->vlgrp, tag, skb); 464 vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
465 else 465 else
466 napi_gro_receive(napi, skb); 466 napi_gro_receive(napi, skb);
467 } else { 467 } else {
468 if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { 468 if (adapter->vlgrp && is_vlan && (tag != 0))
469 if (adapter->vlgrp && is_vlan && (tag != 0)) 469 vlan_hwaccel_rx(skb, adapter->vlgrp, tag);
470 vlan_hwaccel_receive_skb(skb, adapter->vlgrp, tag); 470 else
471 else 471 netif_rx(skb);
472 netif_receive_skb(skb);
473 } else {
474 if (adapter->vlgrp && is_vlan && (tag != 0))
475 vlan_hwaccel_rx(skb, adapter->vlgrp, tag);
476 else
477 netif_rx(skb);
478 }
479 } 472 }
480} 473}
481 474