disable packing of the TAG_TW_Device_Extension
structure to prevent kernel unaligned accesses when
accessing ioctl_wqueue.
Fixes smartmontools kernel panic on alpha SMP

Signed-off-by: Gabriele Gorla <[EMAIL PROTECTED]>
---


--- linux-2.6.22/drivers/scsi/3w-xxxx.h.orig
2007-09-01 17:49:22.000000000 -0700
+++ linux-2.6.22/drivers/scsi/3w-xxxx.h 2007-09-01
17:49:45.000000000 -0700
@@ -392,6 +392,8 @@ typedef struct TAG_TW_Passthru
        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 @@ typedef struct
TAG_TW_Device_Extension {
        wait_queue_head_t       ioctl_wqueue;
 } TW_Device_Extension;
 
-#pragma pack()
-
 #endif /* _3W_XXXX_H */



       
____________________________________________________________________________________
Got a little couch potato? 
Check out fun summer activities for kids.
http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz
 
-
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

Reply via email to