net: cxgb3: convert to hw_features
[pandora-kernel.git] / drivers / net / cxgb3 / sge.c
index bfa2d56..cba1401 100644 (file)
@@ -2019,7 +2019,7 @@ static void rx_eth(struct adapter *adap, struct sge_rspq *rq,
        skb_pull(skb, sizeof(*p) + pad);
        skb->protocol = eth_type_trans(skb, adap->port[p->iff]);
        pi = netdev_priv(skb->dev);
-       if ((pi->rx_offload & T3_RX_CSUM) && p->csum_valid &&
+       if ((skb->dev->features & NETIF_F_RXCSUM) && p->csum_valid &&
            p->csum == htons(0xffff) && !p->fragment) {
                qs->port_stats[SGE_PSTAT_RX_CSUM_GOOD]++;
                skb->ip_summed = CHECKSUM_UNNECESSARY;
@@ -2120,7 +2120,7 @@ static void lro_add_page(struct adapter *adap, struct sge_qset *qs,
                offset = 2 + sizeof(struct cpl_rx_pkt);
                cpl = qs->lro_va = sd->pg_chunk.va + 2;
 
-               if ((pi->rx_offload & T3_RX_CSUM) &&
+               if ((qs->netdev->features & NETIF_F_RXCSUM) &&
                     cpl->csum_valid && cpl->csum == htons(0xffff)) {
                        skb->ip_summed = CHECKSUM_UNNECESSARY;
                        qs->port_stats[SGE_PSTAT_RX_CSUM_GOOD]++;
@@ -2285,7 +2285,8 @@ static int process_responses(struct adapter *adap, struct sge_qset *qs,
        q->next_holdoff = q->holdoff_tmr;
 
        while (likely(budget_left && is_new_response(r, q))) {
-               int packet_complete, eth, ethpad = 2, lro = qs->lro_enabled;
+               int packet_complete, eth, ethpad = 2;
+               int lro = !!(qs->netdev->features & NETIF_F_GRO);
                struct sk_buff *skb = NULL;
                u32 len, flags;
                __be32 rss_hi, rss_lo;