Tejun Heo wrote: > brking@xxxxxxxxxx wrote: >> Currently ata_exec_internal does very minimal cleanup if >> the executing command times out. This works for most usage >> scenarios, but can cause problems for hosts that set >> ATA_FLAG_PIO_DMA. For these users, the DMA buffer gets unmapped >> while the timed out out command is still active, which has >> the potential to cause PCI DMA errors if the command is >> still in progress. The following patch modifies ata_exec_internal >> to invoke eng_timeout on a timeout to allow for the timed out >> command to be cleaned up better before proceeding further. >> This patch is also in preparation for SAS attached SATA devices. >> > > Hello, again. > > ata_exec_internal() will be used during EH, so if you call error handler > from ata_exec_internal().... In my pending EH patchset, there's a patch > to implement ->post_internal() callback which cleans up after an > internal command (successful or not). Hopefully, it will be merged in > not too distant future. Can ata_exec_internal() timeout handling wait > till then? Do you have a pointer to this patchset? I did a quick search for post_internal on the archive and didn't find anything. -- Brian King eServer Storage I/O IBM Linux Technology Center - : 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