Arnd Bergmann 4bfaa5c4b9 3w-xxxx: fix mis-aligned struct accesses
Building an allmodconfig ARM kernel, I get multiple such
warnings because of a spinlock contained in packed structure
in the 3w-xxxx driver:

../drivers/scsi/3w-xxxx.c: In function 'tw_chrdev_ioctl':
../drivers/scsi/3w-xxxx.c:1001:68: warning: mis-aligned access used for structure member [-fstrict-volatile-bitfields]
    timeout = wait_event_timeout(tw_dev->ioctl_wqueue, tw_dev->chrdev_request_id == TW_IOCTL_CHRDEV_FREE, timeout);
                                                                    ^
../drivers/scsi/3w-xxxx.c:1001:68: note: when a volatile object spans multiple type-sized locations, the compiler must choose between using a single mis-aligned access to preserve the volatility, or using multiple aligned accesses to avoid runtime faults; this code may fail at runtime if the hardware does not allow this access

The same bug apparently was present in 3w-sas and 3w-9xxx, but has been
fixed in the past. This patch uses the same fix by moving the pragma
in front of the TW_Device_Extension definition, so it only covers
hardware structures.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Adam Radford <aradford@gmail.com>
Cc: Adam Radford <linuxraid@lsi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2014-07-25 17:16:56 -04:00
..
2014-07-10 21:04:25 +02:00
2014-07-17 22:07:37 +02:00
2014-06-23 16:47:44 -07:00
2014-07-09 16:45:36 -07:00
2014-05-27 17:38:11 -07:00
2014-06-26 13:34:15 +01:00
2014-06-25 12:19:01 -07:00
2014-07-12 14:13:10 -07:00
2014-06-17 15:43:48 -07:00
2014-06-11 14:06:55 -07:00
2014-06-02 16:35:49 -07:00
2014-07-17 22:07:37 +02:00
2014-06-06 11:44:09 -07:00
2014-05-26 21:27:09 +02:00
2014-07-17 22:07:37 +02:00
2014-07-17 22:07:37 +02:00
2014-06-26 10:48:23 +01:00
2014-07-11 17:43:13 -07:00
2014-07-17 22:07:37 +02:00
2014-06-23 09:22:48 +03:00
2014-07-01 13:18:38 +03:00
2014-07-17 08:02:35 -10:00