summaryrefslogtreecommitdiff
path: root/block/ll_rw_blk.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2006-06-26 06:55:46 (GMT)
committerDavid S. Miller <davem@davemloft.net>2006-06-26 06:55:46 (GMT)
commit0718bcc09b3597c51e87f265c72135a4928d3c0b (patch)
treefd4a686629488bad28f3c780e6b2b52803698877 /block/ll_rw_blk.c
parent3ba07e65b288f00cc4d2420f1da46309b1cb5a0c (diff)
downloadlinux-fsl-qoriq-0718bcc09b3597c51e87f265c72135a4928d3c0b.tar.xz
[NET]: Fix CHECKSUM_HW GSO problems.
Fix checksum problems in the GSO code path for CHECKSUM_HW packets. The ipv4 TCP pseudo header checksum has to be adjusted for GSO segmented packets. The adjustment is needed because the length field in the pseudo-header changes. However, because we have the inequality oldlen > newlen, we know that delta = (u16)~oldlen + newlen is still a 16-bit quantity. This also means that htonl(delta) + th->check still fits in 32 bits. Therefore we don't have to use csum_add on this operations. This is based on a patch by Michael Chan <mchan@broadcom.com>. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'block/ll_rw_blk.c')
0 files changed, 0 insertions, 0 deletions