FreeBSD/sys/dev/isci/scil/scic_sds_remote_device.c
/**
 * This method is the default stop handler for the SCIC_SDS_REMOTE_DEVICE
 * ready substate machine. It will stop the current substate machine and
 * transition the base state machine to SCI_BASE_REMOTE_DEVICE_STATE_STOPPING.
 *
 * @param[in] device The SCI_BASE_REMOTE_DEVICE object which is cast to a
 *       SCIC_SDS_REMOTE_DEVICE object.
 *
 * @return SCI_STATUS
 * @retval SCI_SUCCESS
 */
This method is the default stop handler for the SCIC_SDS_REMOTE_DEVICE
ready substate machine. It will stop the current substate machine and
transition the base state machine to SCI_BASE_REMOTE_DEVICE_STATE_STOPPING.

@param[in] device The SCI_BASE_REMOTE_DEVICE object which is cast to a
SCIC_SDS_REMOTE_DEVICE object.


This method is the default stop handler for the SCIC_SDS_REMOTE_DEVICE ready substate machine . It will stop the current substate machine and transition the base state machine to SCI_BASE_REMOTE_DEVICE_STATE_STOPPING . @param [ in ] device The SCI_BASE_REMOTE_DEVICE object which is cast to a SCIC_SDS_REMOTE_DEVICE object .
SCI_STATUS scic_sds_remote_device_ready_state_stop_handler(
   SCI_BASE_REMOTE_DEVICE_T *device
)
{
   SCIC_SDS_REMOTE_DEVICE_T *this_device = (SCIC_SDS_REMOTE_DEVICE_T *)device;
   SCI_STATUS                status      = SCI_SUCCESS;
   sci_base_state_machine_change_state(
      scic_sds_remote_device_get_base_state_machine(this_device),
      SCI_BASE_REMOTE_DEVICE_STATE_STOPPING
   );
   if (this_device->started_request_count == 0)
   {
      scic_sds_remote_node_context_destruct(
         this_device->rnc,
         scic_sds_cb_remote_device_rnc_destruct_complete,
         this_device
      );
   }
   else
      status = scic_sds_remote_device_terminate_requests(this_device);
   return status;
}
SCI_STATUS scic_sds_remote_device_ready_state_stop_handler ( SCI_BASE_REMOTE_DEVICE_T * device ) { SCIC_SDS_REMOTE_DEVICE_T * this_device = ( SCIC_SDS_REMOTE_DEVICE_T * ) device ; SCI_STATUS status = SCI_SUCCESS ; sci_base_state_machine_change_state ( scic_sds_remote_device_get_base_state_machine ( this_device ) , SCI_BASE_REMOTE_DEVICE_STATE_STOPPING ) ; if ( this_device -> started_request_count == 0 ) { scic_sds_remote_node_context_destruct ( this_device -> rnc , scic_sds_cb_remote_device_rnc_destruct_complete , this_device ) ; } else status = scic_sds_remote_device_terminate_requests ( this_device ) ; return status ; }
This method is the default stop handler for the SCIC_SDS_REMOTE_DEVICE
 ready substate machine.
This method is the default stop handler for the SCIC_SDS_REMOTE_DEVICE ready substate machine .
// Request the parent state machine to transition to the stopping state