]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/netxen/netxen_nic_init.c
netxen: ethtool fixes
[linux-2.6-omap-h63xx.git] / drivers / net / netxen / netxen_nic_init.c
index 1811bcb8c380ad53019033c7e43df01e0ff0912b..37589265297edd86fa6047f2181c6e72fec1e5c1 100644 (file)
@@ -1118,10 +1118,13 @@ netxen_process_rcv(struct netxen_adapter *adapter, int ctxid,
 
        skb = (struct sk_buff *)buffer->skb;
 
-       if (likely(netxen_get_sts_status(desc) == STATUS_CKSUM_OK)) {
+       if (likely(adapter->rx_csum &&
+                               netxen_get_sts_status(desc) == STATUS_CKSUM_OK)) {
                adapter->stats.csummed++;
                skb->ip_summed = CHECKSUM_UNNECESSARY;
-       }
+       } else
+               skb->ip_summed = CHECKSUM_NONE;
+
        skb->dev = netdev;
        if (desc_ctx == RCV_DESC_LRO_CTXID) {
                /* True length was only available on the last pkt */