Scroll to navigation

ATA_QC_COMPLETE_MULT(9) libata Library ATA_QC_COMPLETE_MULT(9)

NAME

ata_qc_complete_multiple - Complete multiple qcs successfully

SYNOPSIS

int ata_qc_complete_multiple(struct ata_port * ap, u32 qc_active);

ARGUMENTS

ap

port in question

qc_active

new qc_active mask

DESCRIPTION

Complete in-flight commands. This functions is meant to be called from low-level driver's interrupt routine to complete requests normally. ap->qc_active and qc_active is compared and commands are completed accordingly.

Always use this function when completing multiple NCQ commands from IRQ handlers instead of calling ata_qc_complete multiple times to keep IRQ expect status properly in sync.

LOCKING

spin_lock_irqsave(host lock)

RETURNS

Number of completed commands on success, -errno otherwise.

AUTHOR

Jeff Garzik

Author.

COPYRIGHT

June 2024 Kernel Hackers Manual 3.10