diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2007-12-16 15:53:36 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:07:08 -0500 |
commit | b710b43c306650261c01ad08100791afec78a7db (patch) | |
tree | 656c18e9d3736b84b56c1f91303c28207c424951 /drivers/net/ipg.c | |
parent | f5a3ea6f966700ae82504202fdd827f2d3c79e66 (diff) |
endianness annotations and fixes for olympic
* missing braces in !readl(...) & ...
* trivial endianness annotations
* in olympic_arb_cmd() the loop collecting fragments of
packet is b0rken on big-endian - we have
(next_ptr && (buf_ptr=olympic_priv->olympic_lap + ntohs(next_ptr)))
as condition and it should have swab16(), not ntohs() - it's host-endian
byteswapped, not big-endian. So if we get more than one fragment on big-endian
host, we get screwed.
This ntohs() got missed back when the rest of those had been switched
to swab16() in 2.4.0-test2-pre1 - at a guess, nobody had hit fragmented
packets during the testing of PPC fixes.
PS: Ken Aaker cc'd on assumption that he is the same guy who'd done the
original set of PPC fixes in olympic
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/ipg.c')
0 files changed, 0 insertions, 0 deletions