ata_scsi_queuecmd
Prev | Chapter 6. libata SCSI translation/emulation | Next

## Name

ata_scsi_queuecmd — Issue SCSI cdb to libata-managed device

## Synopsis

`int ata_scsi_queuecmd (` | struct scsi_cmnd * | cmd,
| void (* | done`(`struct scsi_cmnd *`)``)`;

## Arguments

`cmd`

  SCSI command to be sent

`done`

  Completion function, called when command is complete

## Description

In some cases, this function translates SCSI commands into ATA taskfiles, and queues the taskfiles to be sent to hardware. In other cases, this function simulates a SCSI device by evaluating and responding to certain SCSI commands. This creates the overall effect of ATA and ATAPI devices appearing as SCSI devices.

## LOCKING

Releases scsi-layer-held lock, and obtains host lock.

## RETURNS

Return value from `__ata_scsi_queuecmd` if `cmd` can be queued, 0 otherwise.

Prev | Up | Next
ata_scsi_change_queue_depth | Home | ata_scsi_simulate