Scroll to navigation

SATA_LINK_DEBOUNCE(9) libata Library SATA_LINK_DEBOUNCE(9)

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

struct ata_link * link

ATA link to debounce SATA phy status for

const unsigned long * params

timing parameters { interval, duration, timeout } in msec

unsigned long 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)

RETURN

0 on success, -errno on failure.

AUTHOR

Jeff Garzik

Author.

COPYRIGHT

June 2017 Kernel Hackers Manual 4.11