On Fri, Mar 28, 2008 at 8:09 PM, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: ... > If you can verify my analysis of the way the driver works, then the > complete fix should be pretty simple: just remove the cpu_to_le32 from > everywhere except the sg list construction. When I started striping out cpu_to_le32, I found one more nit: if (cmnd->SCp.ptr) { dma_unmap_single(&pci_dev->dev, (dma_addr_t)((unsigned long)cmnd->SCp.ptr), SENSE_SIZE, DMA_FROM_DEVICE); cmnd->SCp.ptr = NULL; } cmnd->SCp.ptr can be assigned a NULL value that is a perfectly valid DMA address (possibly from an IOMMU). I'm not going to attempt to fix this since it's obviously working....just want to point it out. grant -- 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