edac: Do alignment logic properly in edac_align_ptr()
authorChris Metcalf <cmetcalf@tilera.com>
Wed, 6 Jun 2012 17:11:05 +0000 (13:11 -0400)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 11 Jun 2012 15:43:16 +0000 (12:43 -0300)
commit8447c4d15e357a458c9051ddc84aa6c8b9c27000
tree33377297a94e02d0a87246010c8f4c83d8119bb2
parentb9bc5ddb1b76d3f7ee14c533300aa95907c6969e
edac: Do alignment logic properly in edac_align_ptr()

The logic was checking the sizeof the structure being allocated to
determine whether an alignment fixup was required.  This isn't right;
what we actually care about is the alignment of the actual pointer that's
about to be returned.  This became an issue recently because struct
edac_mc_layer has a size that is not zero modulo eight, so we were
taking the correctly-aligned pointer and forcing it to be misaligned.
On Tile this caused an alignment exception.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/edac/edac_mc.c