ata_eng_timeout — Handle timeout of queued command
void ata_eng_timeout (
struct ata_port * ap)
;
Some part of the kernel (currently, only the SCSI layer)
has noticed that the active command on port ap
has not
completed after a specified length of time. Handle this
condition by disabling DMA (if necessary) and completing
transactions, with error if necessary.
This also handles the case of the “lost interrupt”, where for some reason (possibly hardware bug, possibly driver bug) an interrupt was not delivered to the driver, even though the transaction completed successfully.