]> git.baikalelectronics.ru Git - kernel.git/commit
atl1: fix broken TSO
authorJay Cliburn <jacliburn@bellsouth.net>
Sun, 3 Feb 2008 01:50:05 +0000 (19:50 -0600)
committerJeff Garzik <jeff@garzik.org>
Mon, 17 Mar 2008 11:49:23 +0000 (07:49 -0400)
commit1beb9074837263d50d5888df9d8b56e0f827271b
tree6d131717366e60ec0b8d1c8adbc133d99ff5f736
parent739d9d1784fd14c4364ca927c1e4ac7effd8d6ab
atl1: fix broken TSO

The L1 tx packet descriptor expects TCP Header Length to be expressed as a
number of 32-bit dwords.  The atl1 driver uses tcp_hdrlen() to populate the
field, but tcp_hdrlen() returns the header length in bytes, not in dwords.
Add a shift to convert tcp_hdrlen() to dwords when we write it to the tpd.

Also, some of our bit assignments are made to the wrong tpd words.  Change
those to the correct words.

Finally, since all this fixes TSO, enable TSO by default.

Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Acked-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/atlx/atl1.c