The desired effect of a DMA timeout should be to throw an I/O error, but that doesn't appear to be happening. Those seeing DMA timeout messages, please test this patch. Kernel hacker note: James B recommended that I implement my own scsi_done() function, which duplicates the real scsi_done() but omits the scsi_delete_timer() call. This is probably the best long term fix, but doing so involves exporting several currently-private bits of SCSI mid-layer, which I would rather not do. Probably best to create a __scsi_done() inside the SCSI mid-layer, and call that. Jeff, the only user of ->eh_strategy_handler() in any kernel