Name

ata_qc_timeout — Handle timeout of queued command

Synopsis

void ata_qc_timeout (struct ata_queued_cmd * qc);

Arguments

qc

Command that timed out

Description

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.

LOCKING

Inherited from SCSI layer (none, can sleep)