.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "ATA_BUS_RESET" "9" "09 October 2005" "" ""
.SH NAME
ata_bus_reset \- reset host port and associated ATA channel
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void ata_bus_reset (struct ata_port * \fIap\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIap\fB\fR
port to reset
.SH "DESCRIPTION"
.PP
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.
.SH "LOCKING"
.PP
PCI/etc. bus probe sem.
Obtains host_set lock.
.SH "SIDE EFFECTS"
.PP
Sets ATA_FLAG_PORT_DISABLED if bus reset fails.