USB: ehci: remove structure packing from ehci_def
authorRabin Vincent <rabin@rab.in>
Wed, 27 Apr 2011 15:37:28 +0000 (21:07 +0530)
committerTim Gardner <tim.gardner@canonical.com>
Wed, 22 Jun 2011 13:30:46 +0000 (07:30 -0600)
commitcc26e8428be9c97ac9042f9587c406eb571c588c
tree416ab0139ff8c2a5edb3f7f67d24c303f369e62d
parent028ec5c82141aeb601db01fb4dd17c149963dc44
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