revert "crc32: use __BYTE_ORDER macro for endian detection"
It doesn't work on big-endian - those architectures don't define __LITTLE_ENDIAN. Cc: Joakim Tjernlund <joakim.tjernlund@transmode.se> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
				
					committed by
					
						 Linus Torvalds
						Linus Torvalds
					
				
			
			
				
	
			
			
			
						parent
						
							cc68e3be74
						
					
				
				
					commit
					0d2daf5cc8
				
			| @@ -50,7 +50,7 @@ MODULE_LICENSE("GPL"); | ||||
| static inline u32 | ||||
| crc32_body(u32 crc, unsigned char const *buf, size_t len, const u32 (*tab)[256]) | ||||
| { | ||||
| # if __BYTE_ORDER == __LITTLE_ENDIAN | ||||
| # ifdef __LITTLE_ENDIAN | ||||
| #  define DO_CRC(x) crc = tab[0][(crc ^ (x)) & 255] ^ (crc >> 8) | ||||
| #  define DO_CRC4 crc = tab[3][(crc) & 255] ^ \ | ||||
| 		tab[2][(crc >> 8) & 255] ^ \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user