HAM_Recovery_Reset (Function 0x07)

Mandatory function. Redirects the HAM to perform the reset specified function.

Parameters

This function is identified by the following information in the HACB's command area:

function
7
parameter0
Subfunction

Value

Meaning

0

Adapter reset

1

Bus reset. If the HAM driver supports AENs and this subfunction is called, the HAM must locate and return all AEN requests in its queue that supports that Bus Reset function for this bus.

2

Device reset (results in a port reset for an SATA device).

3

Adapter initialize, which provides allows the HAM to request a complete power-up initialization (everything that would normally be done by the adapter on its first initialization), if the HAM and adapter hardware support that capability. If the HAM and/or adapter do not support a unique software controlled initialize function, this subfunction should be implemented by the HAM in the same way as an Adapter reset (Subfunction 0).

4

Port reset

parameter1
0
parameter2
0

Remarks

A CDM can issue this HAM function in an attempt to recover from a hung device. This function is called on a non-blocking thread, so the HAM should spawn a thread to perform the actual reset. In the case of an adapter or bus reset, the HAM should schedule this thread with about a half-second delay to let any current I/O on other devices have a chance to complete.