USB: ehci: remove structure packing from ehci_def
authorRabin Vincent <rabin@rab.in>
Wed, 27 Apr 2011 15:37:28 +0000 (21:07 +0530)
committerSteve Conklin <sconklin@canonical.com>
Fri, 15 Jul 2011 17:20:45 +0000 (12:20 -0500)
commit2c458726dc7a0f1b63520181678ad9c4e0f67d2c
treecc12a823b2bef4df43d75e33419b603bfe8e7d69
parent295644663eb648649cf82e72d319331a3afa5f93
USB: ehci: remove structure packing from ehci_def

BugLink: http://bugs.launchpad.net/bugs/791552

As pointed out by Arnd Bergmann, in include/linux/usb/ehci_def.h, struct
ehci_caps is defined with __attribute__((packed)) for no good reason,
and this triggers undefined behaviour when using ARM's readl() on
pointers to elements of this structure:

http://lkml.kernel.org/r/201102021700.20683.arnd@arndb.de

The same problem exists with the other two structures in ehci_def.h too,
so remove the __attribute__((packed)) from all of them.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
(cherry picked from commit 139540170d9d9b7ead3caaf540f161756b356d56)
Acked-by: Leann Ogasawara <leann.ogasawara@canonical.com>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
include/linux/usb/ehci_def.h