disable packing of the TAG_TW_Device_Extension
structure to prevent kernel unaligned accesses when
accessing the spinlock inside the ioctl_wqueue structure.
Fixes smartmontools kernel panic on alpha SMP
Signed-off-by: Gabriele Gorla <[EMAIL PROTECTED]>
---
--- linux-2.6.23/drivers/scsi/3w-xxxx.h 2007-10-09 13:31:38.000000000 -0700
+++ linux-2.6.23a/drivers/scsi/3w-xxxx.h 2007-12-06 17:46:05.000000000 -0800
@@ -392,6 +392,8 @@
unsigned char padding[12];
} TW_Passthru;
+#pragma pack()
+
typedef struct TAG_TW_Device_Extension {
u32 base_addr;
unsigned long *alignment_virtual_address[TW_Q_LENGTH];
@@ -430,6 +432,4 @@
wait_queue_head_t ioctl_wqueue;
} TW_Device_Extension;
-#pragma pack()
-
#endif /* _3W_XXXX_H */
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html