* Paul Brook paul@codesourcery.com [070415 02:38]:
It was accessed through a (uint16_t *) though.
Ooops. I didn't check FAT_CVT_U16 and assumed it would read bytes.
By taking the address and casting to (uint16_t *) you're hiding the member access, and allowing gcc to assume it is a properly aligned 16-bit value.
Ok. No further tests needed to see the issue. Just checked it in.
Stefan