]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix endianness bug introduced in r205091.
authorPyun YongHyeon <yongari@FreeBSD.org>
Fri, 31 Dec 2010 22:18:41 +0000 (22:18 +0000)
committerPyun YongHyeon <yongari@FreeBSD.org>
Fri, 31 Dec 2010 22:18:41 +0000 (22:18 +0000)
commit3c5571b37464ccf3ecf52eb206d02c0a2a1c14de
tree794ed0b4dc0f5a0652e04ca70c6913124fe02588
parent962be6dfb33b5fa42d65725e106bef08fcc22ca7
Fix endianness bug introduced in r205091.
After controller updates control word in a RX LE, driver converts
it to host byte order. The checksum value in the control word is
stored in big endian form by controller. r205091 didn't account for
the host byte order conversion such that the checksum value was
incorrectly interpreted on big endian architectures which in turn
made all TCP/UDP frames dropped. Make RX checksum offload work
on any architectures by swapping the checksum value.

Reported by: Sreekanth M. ( kanthms <> netlogicmicro dot com )
Tested by: Sreekanth M. ( kanthms <> netlogicmicro dot com )
sys/dev/msk/if_msk.c