ata_pio_queue_task
Prev | Chapter 5. libata Core Internals | Next

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

Prev | Up | Next
ata_dump_id | Home | ata_port_flush_task