ata_qc_complete_multiple
Prev | Chapter 4. libata Library | Next

## 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.

Prev | Up | Next
ata_qc_complete | Home | sata_scr_valid