hso: IP checksuming doesn't work on GE0301 option cards
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 7 Dec 2010 22:21:52 +0000 (22:21 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Dec 2010 04:42:24 +0000 (20:42 -0800)
There is definitly a problem, that some option cards send up broken
IP pakets leading to corrupted IP packets. These corruptions aren't
detected, because the driver claims that the packets are already
checksummed. This change removes the CHECKSUM_UNNECESSARY option
and let IP detect broken data.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/hso.c

index 62e9e8d..812edf8 100644 (file)
@@ -958,10 +958,6 @@ static void packetizeRx(struct hso_net *odev, unsigned char *ip_pkt,
                                /* Packet is complete. Inject into stack. */
                                /* We have IP packet here */
                                odev->skb_rx_buf->protocol = cpu_to_be16(ETH_P_IP);
-                               /* don't check it */
-                               odev->skb_rx_buf->ip_summed =
-                                       CHECKSUM_UNNECESSARY;
-
                                skb_reset_mac_header(odev->skb_rx_buf);
 
                                /* Ship it off to the kernel */