/** * * * @param[in] device This is the SCI base object which is cast into a * SCIC_SDS_REMOTE_DEVICE object. * * @return none */ static void scic_sds_stp_remote_device_ready_ncq_error_substate_enter( SCI_BASE_OBJECT_T * device ) { SCIC_SDS_REMOTE_DEVICE_T * this_device; this_device = (SCIC_SDS_REMOTE_DEVICE_T *)device; SET_STATE_HANDLER( this_device, scic_sds_stp_remote_device_ready_substate_handler_table, SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ_ERROR ); if(this_device->not_ready_reason == SCIC_REMOTE_DEVICE_NOT_READY_SATA_SDB_ERROR_FIS_RECEIVED) { scic_cb_remote_device_not_ready( scic_sds_remote_device_get_controller(this_device), this_device, this_device->not_ready_reason ); } }
/** * This is the SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD enter method. This * method sets the remote device objects ready cmd substate handlers, and notify * core user that the device is not ready. * * @param[in] object This is the SCI_BASE_OBJECT which is cast into a * SCIC_SDS_REMOTE_DEVICE. * * @return none */ static void scic_sds_smp_remote_device_ready_cmd_substate_enter( SCI_BASE_OBJECT_T *object ) { SCIC_SDS_REMOTE_DEVICE_T *this_device = (SCIC_SDS_REMOTE_DEVICE_T *)object; ASSERT(this_device->working_request != NULL); SET_STATE_HANDLER( this_device, scic_sds_smp_remote_device_ready_substate_handler_table, SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD ); scic_cb_remote_device_not_ready( scic_sds_remote_device_get_controller(this_device), this_device, SCIC_REMOTE_DEVICE_NOT_READY_SMP_REQUEST_STARTED ); }