sata_link_debounce
Prev | Chapter 4. libata Library | Next

## Name

sata_link_debounce — debounce SATA phy status

## Synopsis

`int sata_link_debounce (` | struct ata_link * | link,
| const unsigned long * | params,
| unsigned long | deadline`)`;

## Arguments

`link`

  ATA link to debounce SATA phy status for

`params`

  timing parameters { interval, duratinon, timeout } in msec

`deadline`

  deadline jiffies for the operation

## Description

Make sure SStatus of `link` reaches stable state, determined by holding the same value where DET is not 1 for `duration` polled every `interval`, before `timeout`. Timeout constraints the beginning of the stable state. Because DET gets stuck at 1 on some controllers after hot unplugging, this functions waits until timeout then returns 0 if DET is stable at 1.

`timeout` is further limited by `deadline`. The sooner of the two is used.

## LOCKING

Kernel thread context (may sleep)

## RETURNS

0 on success, -errno on failure.

Prev | Up | Next
ata_bus_reset | Home | sata_link_resume