ATA_EXEC_INTERNAL_SG(9) | libata Core Internals | ATA_EXEC_INTERNAL_SG(9) |
NAME¶
ata_exec_internal_sg - execute libata internal command
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);
ARGUMENTS¶
struct ata_device * dev
struct ata_taskfile * tf
const u8 * cdb
int dma_dir
struct scatterlist * sgl
unsigned int n_elem
unsigned long timeout
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. It's caller's duty to clean up after timeout.
LOCKING: None. Should be called with kernel context, might sleep.
RETURN¶
Zero on success, AC_ERR_* mask on failure
AUTHOR¶
Jeff Garzik
COPYRIGHT¶
June 2017 | Kernel Hackers Manual 4.11 |