other versions
ATA_SCSI_TRANSLATE(9) | libata SCSI translation/emulat | ATA_SCSI_TRANSLATE(9) |
NAME¶
ata_scsi_translate - Translate then issue SCSI command to ATA deviceSYNOPSIS¶
int
ata_scsi_translate(struct ata_device * dev,
struct scsi_cmnd * cmd,
ata_xlat_func_t xlat_func);
ARGUMENTS¶
devATA device to which the command is addressed
cmd
SCSI command to execute
xlat_func
Actor which translates cmd to an ATA
taskfile
DESCRIPTION¶
Our -> queuecommand function has decided that the SCSI command issued can be directly translated into an ATA command, rather than handled internally. This function sets up an ata_queued_cmd structure for the SCSI command, and sends that ata_queued_cmd to the hardware. The xlat_func argument (actor) returns 0 if ready to execute ATA command, else 1 to finish translation. If 1 is returned then cmd->result (and possibly cmd->sense_buffer) are assumed to be set reflecting an error condition or clean (early) termination. LOCKING: spin_lock_irqsave(host lock)RETURN¶
0 on success, SCSI_ML_QUEUE_DEVICE_BUSY if the command needs to be deferred.AUTHOR¶
Jeff GarzikAuthor.
COPYRIGHT¶
January 2017 | Kernel Hackers Manual 4.8. |