e1000: don't generate bad checksums for tcp packets with 0 csum
authorDave Graham <david.graham@intel.com>
Thu, 9 Oct 2008 21:29:26 +0000 (14:29 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Oct 2008 21:29:26 +0000 (14:29 -0700)
commit3ed30676f5bc9960c67644fa37c5fdc36ae47b5b
treec95e30027cec695c1ede5a967f084cd508e571f4
parentaf807c82978ec1b8c5120b59b78ef951b3e4603b
e1000: don't generate bad checksums for tcp packets with 0 csum

When offloading transmit checksums only, the driver was not
correctly configuring the hardware to handle the case of a zero
checksum.  For UDP the correct behavior is to leave it alone, but
for tcp the checksum must be changed from 0x0000 to 0xFFFF.  The
hardware takes care of this case but only if it is told the
packet is tcp.

same patch as e1000e

Signed-off-by: Dave Graham <david.graham@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000/e1000_main.c