diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2007-12-09 16:06:41 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 15:07:13 -0800 |
commit | 5bb7ea26148369315492c3dfc43c3b6366a9f279 (patch) | |
tree | 3250e30a8d7c3aec8bd4d49e63329bb9a7b8de7f /drivers/net/e100.c | |
parent | 79ea13ce07c951bb4d95471e7300baa0f1be9e78 (diff) | |
download | linux-5bb7ea26148369315492c3dfc43c3b6366a9f279.tar.bz2 |
forcedeth endianness bugs
* misannotation: struct register_test members are actually host-endian
* bug: cpu_to_le64(n) >> 32 instead of cpu_to_le32(n >> 32) in setting
->bufhigh and similar for ->buflow (take low bits, _then_ convert to
little-endian, not the other way round).
* bug: setup_hw_rings() should not convert to little-endian at all (we
feed the result to writel(), not store in shared data structure), let
alone try to play with shifting and masking little-endian values. Introduced
when setup_hw_rings() went in, screwed both 64bit case and the old code for
32bit rings it had replaced.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/e100.c')
0 files changed, 0 insertions, 0 deletions