Provided by:
linux-doc-2.6.15_2.6.15-23.39_all 
NAME
ata_bus_reset - reset host port and associated ATA channel
SYNOPSIS
void ata_bus_reset (struct ata_port * ap);
ARGUMENTS
ap port to reset
DESCRIPTION
This is typically the first time we actually start issuing commands to
the ATA channel. We wait for BSY to clear, then issue EXECUTE DEVICE
DIAGNOSTIC command, polling for its result. Determine what devices, if
any, are on the channel by looking at the device 0/1 error register.
Look at the signature stored in each device’s taskfile registers, to
determine if the device is ATA or ATAPI.
LOCKING
PCI/etc. bus probe sem. Obtains host_set lock.
SIDE EFFECTS
Sets ATA_FLAG_PORT_DISABLED if bus reset fails.
AUTHOR
Jeff Garzik.