]> err.no Git - linux-2.6/commitdiff
Blackfin EMAC driver: fix bug - NAT doesn't work with bfin_mac driver
authorVitja Makarov <vitja.makarov@gmail.com>
Fri, 23 Nov 2007 09:55:51 +0000 (17:55 +0800)
committerJeff Garzik <jeff@garzik.org>
Sat, 24 Nov 2007 03:09:02 +0000 (22:09 -0500)
https://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&forum_id=39&thread_id=23114&_forum_action=ForumMessageBrowse
Today I was dealing with the same problem, on my custom bf537 board, and bfin_mac driver.
I found that the problem is in setting ip_summed flag of skbuff structure,

Signed-off-by: Vitja Makarov <vitja.makarov@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/bfin_mac.c

index 084acfd6fc5fdaeba614a7e20302c89f3842546f..f0f851693897182a5345c7cbd0219dfbbd94ad76 100644 (file)
@@ -676,7 +676,7 @@ static void bf537mac_rx(struct net_device *dev)
        skb->protocol = eth_type_trans(skb, dev);
 #if defined(BFIN_MAC_CSUM_OFFLOAD)
        skb->csum = current_rx_ptr->status.ip_payload_csum;
-       skb->ip_summed = CHECKSUM_PARTIAL;
+       skb->ip_summed = CHECKSUM_COMPLETE;
 #endif
 
        netif_rx(skb);