---
name: "ata_pio_queue_task"
section: "9"
platform: "linux"
package: "linux-manual-2.6.32"
version: "2.6.32-48squeeze6"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ata_pio_queue_task"
---

# ata\_pio\_queue\_task(9)

Queue port\_task

## NAME

ata\_pio\_queue\_task - Queue port\_task

## SYNOPSIS

**void ata\_pio\_queue\_task(struct ata\_port \*** *ap***, void \*** *data***, unsigned long** *delay***);**

## ARGUMENTS

*ap*

The ata\_port to queue port\_task for

*data*

data for *fn* to use

*delay*

delay time in msecs for workqueue function

## DESCRIPTION

Schedule *fn*(*data*) for execution after *delay* jiffies using port\_task. There is one port\_task per port and it's the user(low level driver)'s responsibility to make sure that only one task is active at any given time.

libata core layer takes care of synchronization between port\_task and EH. **ata\_pio\_queue\_task** may be ignored for EH synchronization.

## LOCKING

Inherited from caller.

## AUTHOR

**Jeff Garzik**

Author.

## COPYRIGHT
