diff options
author | Santiago Leon <santil@us.ibm.com> | 2008-08-20 13:09:19 -0600 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-08-27 05:36:57 -0400 |
commit | 45e15bb734e4e559ab32f26196e44d5cf1417f10 (patch) | |
tree | e71322bc295822ad97af55b0298668eab093cfec /drivers/net/mac8390.c | |
parent | c213f286f2cf6590f83f541f66a625ee8d20c6f4 (diff) | |
download | talos-obmc-linux-45e15bb734e4e559ab32f26196e44d5cf1417f10.tar.gz talos-obmc-linux-45e15bb734e4e559ab32f26196e44d5cf1417f10.zip |
ibmveth: fix bad UDP checksums
This patch fixes a ibmveth bug where bad UDP checksums are being transmitted
when checksum offloading is enabled.
The hypervisor does checksum offloading only on TCP packets, so ibmveth calls
skb_checksum_help() for any other protocol. The bug happens because
the packet is being modified after the DMA map, so we would need a memory
barrier before making the hypervisor call. Reordering the code so that the
DMA map happens after skb_checksum_help() has the additional advantage of
fixing a DMA map leak if skb_checksum_help() where to fail.
Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/mac8390.c')
0 files changed, 0 insertions, 0 deletions