diff options
Diffstat (limited to 'drivers/net/ipg.c')
-rw-r--r-- | drivers/net/ipg.c | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c index 7f85732f03e9..9e228e7d3bef 100644 --- a/drivers/net/ipg.c +++ b/drivers/net/ipg.c | |||
@@ -1483,35 +1483,13 @@ static int ipg_nic_rx(struct net_device *dev) | |||
1483 | /* Set the buffer's protocol field to Ethernet. */ | 1483 | /* Set the buffer's protocol field to Ethernet. */ |
1484 | skb->protocol = eth_type_trans(skb, dev); | 1484 | skb->protocol = eth_type_trans(skb, dev); |
1485 | 1485 | ||
1486 | /* If the frame contains an IP/TCP/UDP frame, | 1486 | /* The IPG encountered an error with (or |
1487 | * determine if upper layer must check IP/TCP/UDP | 1487 | * there were no) IP/TCP/UDP checksums. |
1488 | * checksums. | 1488 | * This may or may not indicate an invalid |
1489 | * | 1489 | * IP/TCP/UDP frame was received. Let the |
1490 | * NOTE: DO NOT RELY ON THE TCP/UDP CHECKSUM | 1490 | * upper layer decide. |
1491 | * VERIFICATION FOR SILICON REVISIONS B3 | ||
1492 | * AND EARLIER! | ||
1493 | * | ||
1494 | if ((le64_to_cpu(rxfd->rfs & | ||
1495 | (IPG_RFS_TCPDETECTED | IPG_RFS_UDPDETECTED | | ||
1496 | IPG_RFS_IPDETECTED))) && | ||
1497 | !(le64_to_cpu(rxfd->rfs & | ||
1498 | (IPG_RFS_TCPERROR | IPG_RFS_UDPERROR | | ||
1499 | IPG_RFS_IPERROR)))) { | ||
1500 | * Indicate IP checksums were performed | ||
1501 | * by the IPG. | ||
1502 | * | ||
1503 | skb->ip_summed = CHECKSUM_UNNECESSARY; | ||
1504 | } else | ||
1505 | */ | 1491 | */ |
1506 | { | 1492 | skb->ip_summed = CHECKSUM_NONE; |
1507 | /* The IPG encountered an error with (or | ||
1508 | * there were no) IP/TCP/UDP checksums. | ||
1509 | * This may or may not indicate an invalid | ||
1510 | * IP/TCP/UDP frame was received. Let the | ||
1511 | * upper layer decide. | ||
1512 | */ | ||
1513 | skb->ip_summed = CHECKSUM_NONE; | ||
1514 | } | ||
1515 | 1493 | ||
1516 | /* Hand off frame for higher layer processing. | 1494 | /* Hand off frame for higher layer processing. |
1517 | * The function netif_rx() releases the sk_buff | 1495 | * The function netif_rx() releases the sk_buff |