Subject: Unaligned accesses in AVR32 kernel

From: Ralf Baechle <[email-masked]>
Date: Wed, 3 Nov 2010 15:32:06 +0000

Hans-Christian,

I received a bug report for some networking code from which it seems as
if the AVR32 kernel doesn't fixup exceptions caused by missaligned kernel
accesses either in software or hardware.  This is a problem as there in
the networking stack there is no general guarantee that all multi-byte
header fields such as ARP or IP headers will aligned.  Networking drivers
are supposed to make a decent attempt to place packets at a suitable
address but there is no guarantee.  The mkiss.c driver gets that wrong
which I'm fixing but fundamentally you want to add automated fixing of
unaligned exception to the AVR32 kernel.  See arch/mips/kernel/unaligned.c.

Cheers,

  Ralf