diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-01-11 01:38:38 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-06 11:43:44 -0800 |
commit | dc92e7d27d392866bc4eba38b77e21ee31658b5c (patch) | |
tree | 19b81bce30efcf4d3f0d1ebcc491b5a2ebe00e57 /net/unix/sysctl_net_unix.c | |
parent | 6df2e34e938de2d7e6b192def65584d2e710ccc1 (diff) |
CASSINI: Fix endianness bug.
[ Upstream commit: e5e025401f6e926c1d9dc3f3f2813cf98a2d8708 ]
Here's proposed fix for RX checksum handling in cassini; it affects
little-endian working with half-duplex gigabit, but obviously needs
testing on big-endian too.
The problem is, we need to convert checksum to fixed-endian *before*
correcting for (unstripped) FCS. On big-endian it won't matter
(conversion is no-op), on little-endian it will, but only if FCS is
not stripped by hardware; i.e. in half-duplex gigabit mode when
->crc_size is set.
cassini.c part is that fix, cassini.h one consists of trivial
endianness annotations. With that applied the sucker is endian-clean,
according to sparse.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net/unix/sysctl_net_unix.c')
0 files changed, 0 insertions, 0 deletions