diff options
Diffstat (limited to 'drivers/net/cxgb4/sge.c')
-rw-r--r-- | drivers/net/cxgb4/sge.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/drivers/net/cxgb4/sge.c b/drivers/net/cxgb4/sge.c index 9967f3debce7..17022258ed68 100644 --- a/drivers/net/cxgb4/sge.c +++ b/drivers/net/cxgb4/sge.c | |||
@@ -1530,18 +1530,11 @@ static void do_gro(struct sge_eth_rxq *rxq, const struct pkt_gl *gl, | |||
1530 | skb->rxhash = (__force u32)pkt->rsshdr.hash_val; | 1530 | skb->rxhash = (__force u32)pkt->rsshdr.hash_val; |
1531 | 1531 | ||
1532 | if (unlikely(pkt->vlan_ex)) { | 1532 | if (unlikely(pkt->vlan_ex)) { |
1533 | struct port_info *pi = netdev_priv(rxq->rspq.netdev); | 1533 | __vlan_hwaccel_put_tag(skb, ntohs(pkt->vlan)); |
1534 | struct vlan_group *grp = pi->vlan_grp; | ||
1535 | |||
1536 | rxq->stats.vlan_ex++; | 1534 | rxq->stats.vlan_ex++; |
1537 | if (likely(grp)) { | ||
1538 | ret = vlan_gro_frags(&rxq->rspq.napi, grp, | ||
1539 | ntohs(pkt->vlan)); | ||
1540 | goto stats; | ||
1541 | } | ||
1542 | } | 1535 | } |
1543 | ret = napi_gro_frags(&rxq->rspq.napi); | 1536 | ret = napi_gro_frags(&rxq->rspq.napi); |
1544 | stats: if (ret == GRO_HELD) | 1537 | if (ret == GRO_HELD) |
1545 | rxq->stats.lro_pkts++; | 1538 | rxq->stats.lro_pkts++; |
1546 | else if (ret == GRO_MERGED || ret == GRO_MERGED_FREE) | 1539 | else if (ret == GRO_MERGED || ret == GRO_MERGED_FREE) |
1547 | rxq->stats.lro_merged++; | 1540 | rxq->stats.lro_merged++; |
@@ -1608,16 +1601,10 @@ int t4_ethrx_handler(struct sge_rspq *q, const __be64 *rsp, | |||
1608 | skb_checksum_none_assert(skb); | 1601 | skb_checksum_none_assert(skb); |
1609 | 1602 | ||
1610 | if (unlikely(pkt->vlan_ex)) { | 1603 | if (unlikely(pkt->vlan_ex)) { |
1611 | struct vlan_group *grp = pi->vlan_grp; | 1604 | __vlan_hwaccel_put_tag(skb, ntohs(pkt->vlan)); |
1612 | |||
1613 | rxq->stats.vlan_ex++; | 1605 | rxq->stats.vlan_ex++; |
1614 | if (likely(grp)) | 1606 | } |
1615 | vlan_hwaccel_receive_skb(skb, grp, ntohs(pkt->vlan)); | 1607 | netif_receive_skb(skb); |
1616 | else | ||
1617 | dev_kfree_skb_any(skb); | ||
1618 | } else | ||
1619 | netif_receive_skb(skb); | ||
1620 | |||
1621 | return 0; | 1608 | return 0; |
1622 | } | 1609 | } |
1623 | 1610 | ||