1. NAME

ata_exec_internal_sg - execute libata internal command

2. SYNOPSIS

unsigned ata_exec_internal_sg(struct ata_device *  dev , struct ata_taskfile *  tf , const u8 *  cdb , int  dma_dir , struct scatterlist *  sgl , unsigned int  n_elem , unsigned long  timeout );

3. ARGUMENTS

dev
    Device to which the command is sent

tf
    Taskfile registers for the command and the result

cdb
    CDB for packet command

dma_dir
    Data tranfer direction of the command

sgl
    sg list for the data buffer of the command

n_elem
    Number of sg entries

timeout
    Timeout in msecs (0 for default)

4. DESCRIPTION

Executes libata internal command with timeout. tf contains command on entry and result on return. Timeout and error conditions are reported via return value. No recovery action is taken after a command times out. ItAqs callerAqs duty to clean up after timeout.

5. LOCKING

None. Should be called with kernel context, might sleep.

6. RETURNS

Zero on success, AC_ERR_* mask on failure

7. AUTHOR

Jeff Garzik
    Author.

8. COPYRIGHT