initio.h contains this structure that is passed to the hardware: typedef struct Scsi_Ctrl_Blk { struct Scsi_Ctrl_Blk *SCB_NxtScb; UBYTE SCB_Status; /*4 */ UBYTE SCB_NxtStat; /*5 */ UBYTE SCB_Mode; /*6 */ UBYTE SCB_Msgin; /*7 SCB_Res0 */ ... Which is obviously not 64bit safe. It also doesn't seem to dma map this structure at all. Mark the driver as X86_32 only in Kconfig. Signed-off-by: Andi Kleen <ak@xxxxxxx> diff -u linux-2.6.22-dma/drivers/scsi/Kconfig-o linux-2.6.22-dma/drivers/scsi/Kconfig --- linux-2.6.22-dma/drivers/scsi/Kconfig-o 2007-07-11 14:24:21.000000000 +0200 +++ linux-2.6.22-dma/drivers/scsi/Kconfig 2007-07-12 12:49:19.000000000 +0200 @@ -845,7 +845,8 @@ config SCSI_INITIO tristate "Initio 9100U(W) support" - depends on PCI && SCSI + # driver not 64bit safe and doesn't use pci dma API consistently + depends on PCI && SCSI && X86_32 help This is support for the Initio 91XXU(W) SCSI host adapter. Please read the SCSI-HOWTO, available from - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html