• Al Viro's avatar
    endianness annotations and fixes for olympic · b710b43c
    Al Viro authored
    	* 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: default avatarAl Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    b710b43c
olympic.c 62.3 KB