PCH_GbE : Fixed the issue of checksum judgment
authorToshiharu Okada <toshiharu-linux@dsn.okisemi.com>
Fri, 6 May 2011 02:53:56 +0000 (02:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 May 2011 18:55:16 +0000 (11:55 -0700)
The checksum judgment was mistaken.
  Judgment result
     0:Correct 1:Wrong

This patch fixes the issue.

Signed-off-by: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/pch_gbe/pch_gbe_main.c

index 4ebd1d4ad3ed248ed948289171b78479277169c9..9f6c4025c6eaede04c12381977194f40af5fe33e 100644 (file)
@@ -1493,12 +1493,11 @@ pch_gbe_clean_rx(struct pch_gbe_adapter *adapter,
                        /* Write meta date of skb */
                        skb_put(skb, length);
                        skb->protocol = eth_type_trans(skb, netdev);
-                       if ((tcp_ip_status & PCH_GBE_RXD_ACC_STAT_TCPIPOK) ==
-                           PCH_GBE_RXD_ACC_STAT_TCPIPOK) {
-                               skb->ip_summed = CHECKSUM_UNNECESSARY;
-                       } else {
+                       if (tcp_ip_status & PCH_GBE_RXD_ACC_STAT_TCPIPOK)
                                skb->ip_summed = CHECKSUM_NONE;
-                       }
+                       else
+                               skb->ip_summed = CHECKSUM_UNNECESSARY;
+
                        napi_gro_receive(&adapter->napi, skb);
                        (*work_done)++;
                        pr_debug("Receive skb->ip_summed: %d length: %d\n",