ata_scsi_translate(9)

NAME

ata_scsi_translate - Translate then issue SCSI command to ATA device

SYNOPSIS

int ata_scsi_translate(struct ata_device * dev, struct scsi_cmnd * cmd,
                       void (*done) (struct scsi_cmnd *),
                       ata_xlat_func_t xlat_func);

ARGUMENTS

dev
ATA device to which the command is addressed
cmd
SCSI command to execute
done
SCSI command completion function
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)

RETURNS

0 on success, SCSI_ML_QUEUE_DEVICE_BUSY if the command needs to be
deferred.

AUTHOR

Jeff Garzik
Author.

COPYRIGHT

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout